- Method
hash
string hash(string password, string|void scheme, int|void rounds)
- Description
Generate a hash of password suitable for verify() .
- Parameter password
Password to hash.
- Parameter scheme
Password hashing scheme. If not specified the strongest available
will be used.
If an unsupported scheme is specified an error will be thrown.
Supported schemes are:
Crypt(3C)-style:
UNDEFINED | Use the strongest crypt(3C)-style hash that is supported.
|
"crypt" |
"{crypt}" |
"6" | SHA512.crypt_hash() with 96 bits of salt and a default
of 5000 rounds.
|
"$6$" |
"5" | SHA256.crypt_hash() with 96 bits of salt and a default
of 5000 rounds.
|
"$5$" |
"1" | MD5.crypt_hash() with 48 bits of salt and 1000 rounds.
|
"$1$" |
"" | crypt() with 12 bits of salt.
|
|
LDAP (RFC2307)-style. Don't use these if you can avoid it,
since they are suspectible to attacks. In particular avoid
the unsalted variants at all costs:
"ssha" | SHA1.hash() with 96 bits of salt appended to the password.
|
"{ssha}" |
"smd5" | MD5.hash() with 96 bits of salt appended to the password.
|
"{smd5}" |
"sha" | SHA1.hash() without any salt.
|
"{sha}" |
"md5" | MD5.hash() without any salt.
|
"{md5}" |
|
- Parameter rounds
The number of rounds to use in parameterized schemes. If not
specified the scheme specific default will be used.
- Returns
Returns a string suitable for verify() . This means that
the hashes will be prepended with the suitable markers.
- Note
Note that the availability of SHA512 depends on the version
of Nettle that Pike has been compiled with.
- Note
This function was added in Pike 7.8.755.
- See also
verify() , crypt() , Nettle.crypt_md5() ,
Nettle.HashInfo()->crypt_hash()