makepasswd - Man Page

Generates (pseudo-)random passwords and hashes

Examples (TL;DR)


makepasswd [-c string] [-e algorithm] [-i iterations] [-l length] [-M maximum length] [-m minimum length] [-n count] [-p password] [-S] [-s salt]

makepasswd [-E] [-c string] [-e algorithm] [-i iterations] [-l length] [-M maximum length] [-m minimum length] [-n count] [-S] [-s salt]


makepasswd is a program that generates pseudo-random passwords of a desired length and, if so desired, along with their corresponding hashes for a given encryption algorithm.


The following options are available:


In this operation mode, makepasswd enumerates through all possible values for a password, given the list of characters allowed and the length specified.

-c string

Sets the string of characters allowed within passwords, when generating them randomly.


Apply a specific hashing algorithm to the password generated. The list of passwords currently supported is:

  • base64 (always supported)
  • blowfish (Blowfish)
  • des (single DES)
  • md5 (MD5, always supported)
  • sha1 (SHA-1)
  • sha256 (SHA-256)
  • shmd5 (shadow MD5)
  • none (always supported)

For the algorithms not explicitly mentioned as always supported, their availability depends on the implementation of the crypt(3) library on the system where makepasswd was compiled.


Force a number of iterations to be performed when hashing passwords, for algorithms effectively supporting it. It otherwise defaults to a random value, in a range considered reasonable for the hashing algorithm selected.


Force the passwords generated to be of a fixed length.


Maximum length for the passwords generated.


Minimum length for the passwords generated.


Total number of passwords to generate. When not set, it defaults to only one, except in enumeration mode where it processes the complete range of possibilities until exhaustion.


Force a given value for the password generated. This is useful when generating hashes for pre-determined passwords.


Do not seed the PRNG (pseudo-random number generator) ourselves. With this option set, the entropy pool is often not initialized, and the passwords generated predictable as a result.

Use this option carefully, when you know that either the system does provide better entropy than makepasswd, or that it hurts performance in a situation where entropy is not required.


Force a given value when salting the resulting password hash. This is only useful when selecting a hashing algorithm that effectively uses salt.


Issues can be listed and reported at

See Also

login(1), passwd(1)


Pierre Pronchery <>

Code and documentation.

Gabor Z. papp <>


Referenced By


01/25/2024 makepasswd User Manual