CRYPT(5) File Formats Manual CRYPT(5) (NAME) crypt - (DESCRIPTION) crypt(3) . . . . "" (salt) . . . : 1. . 2. . 3. . . " " (processing cost) crypt_gensalt(3) . (memory-hard) yescrypt . . (FORMAT OF HASHED PASSPHRASES) crypt(3) : prefix, options, salt hash. prefix crypt_gensalt(3) . options, salt hash . prefix options . setting crypt(3) . : . `: ' `; ' `* ' `! ' `\' . ( passwd(5) shadow(5) .) . `$' . . "base64" RFC 4648 . (AVAILABLE HASHING METHODS) crypt(3) . . ( regex(7)) . yescrypt yescrypt Solar Designer scrypt Colin Percival . yescrypt SHA-256 . SHA-256 NIST FIPS PUB 180-2 ( FIPS PUB 180-4) IETF RFC 4634 ( RFC 6234) . . "$y$" \$y\$[./A-Za-z0-9]+\$[./A-Za-z0-9]{,86}\$[./A-Za-z0-9]{43} 256 up to 512 (128+ recommended) 1 to 11 (logarithmic, also affects memory usage) gost-yescrypt gost-yescrypt yescrypt HMAC GOST R 34.11-2012 (Streebog) . yescrypt GOST . GOST . GOST R 34.11-2012 (Streebog) IETF RFC 6986 . . "$gy$" \$gy\$[./A-Za-z0-9]+\$[./A-Za-z0-9]{,86}\$[./A-Za-z0-9]{43} 256 up to 512 (128+ recommended) 1 to 11 (logarithmic, also affects memory usage) sm3-yescrypt sm3-yescrypt yescrypt HMAC ShangMi 3 . yescrypt ShangMi 3 . (OSCCA) . (OSCCA). ShangMi 3 : "Dedicated hash-functions" ISO/IEC 10118-3:2018 . . "$sm3y$" \$sm3y\$[./A-Za-z0-9]+\$[./A-Za-z0-9]{,86}\$[./A-Za-z0-9]{43} 256 up to 512 (128+ recommended) 1 to 11 (logarithmic, also affects memory usage) scrypt scrypt Colin Percival Tarsnap . . scrypt IETF RFC 7914 . "$7$" \$7\$[./A-Za-z0-9]{11,97}\$[./A-Za-z0-9]{43} 256 up to 512 (128+ recommended) 6 to 11 (logarithmic, also affects memory usage) bcrypt Blowfish . Niels Provos David Mazieres OpenBSD FreeBSD NetBSD Solaris 10 / . "$2b$" \$2[abxy]\$[0-9]{2}\$[./A-Za-z0-9]{53} 72 184 128 4 to 31 (logarithmic) "$2y$" "$2b$" . . "$2a$" "$2x$" 1.0.4 crypt_blowfish . sha512crypt SHA-2 Ulrich Drepper GNU libc . . . 5000 . "$6$" \$6\$(rounds=[1-9][0-9]+\$)?[^$:\n]{1,16}\$[./0-9A-Za-z]{86} 512 6 to 96 1000 to 999,999,999 sha256crypt SHA-2 Ulrich Drepper GNU libc . . . 5000 . "$5$" \$5\$(rounds=[1-9][0-9]+\$)?[^$:\n]{1,16}\$[./0-9A-Za-z]{43} 256 6 to 96 1000 to 999,999,999 sm3crypt ShangMi 3 sha256crypt / sha512crypt . EulerOS Kylin openEuler openKylin . . 5000 . "$sm3$" \$sm3\$(rounds=[1-9][0-9]+\$)?[^$:\n]{1,16}\$[./0-9A-Za-z]{86} 256 6 to 96 1000 to 999,999,999 sha1crypt HMAC-SHA1. Simon Gerraty NetBSD . DES SHA-1 . "$sha1" \$sha1\$[1-9][0-9]+\$[./0-9A-Za-z]{1,64}\$[./0-9A-Za-z]{8,64}[./0-9A- Za-z]{32} 160 6 to 384 4 to 4,294,967,295 SunMD5 MD5 Alec David Muffett Solaris . . DES MD5 . "$md5" \$md5(,rounds=[1-9][0-9]+)?\$[./0-9A-Za-z]{8}\${1,2}[./0-9A-Za-z]{22} 128 48 4096 to 4,294,963,199 md5crypt MD5 Poul-Henning Kamp FreeBSD . Solaris . DES MD5 . . "$1$" \$1\$[^$:\n]{1,8}\$[./0-9A-Za-z]{22} 128 6 to 48 1000 bsdicrypt (DES BSDI) DES . BSDI BSD/OS FreeSec David Burren NetBSD OpenBSD FreeBSD . DES bigcrypt . "_" _[./0-9A-Za-z]{19} ( ) 64 up to 56 24 1 to 16,777,215 (must be odd) descrypt (DES ) Unix V7 DES. DES . . "" ( ) [./0-9A-Za-z]{13} 8 ( ) 64 up to 56 12 25 bigcrypt DES . DES . . "" ( ) [./0-9A-Za-z]{13,178} 128 ( ) up to 1024 up to 56 12 25 NT SMB/CIFS. FreeBSD . MD4. . . . "$3$" \$3\$\$[0-9a-f]{32} 256 0 1 (SEE ALSO) crypt(3), crypt_gensalt(3), getpwent(3), passwd(5), shadow(5), pam(8) Niels Provos and David Mazieres, "A Future-Adaptable Password Scheme", Proceedings of the 1999 USENIX Annual Technical Conference, https://www.usenix.org/events/usenix99/provos.html, June 1999. Robert Morris and Ken Thompson, "Password Security: A Case History", Communications of the ACM, 11, 22, http://wolfram.schneider.org/bsd/7thEdManVol2/password/password.pdf, 1979. Openwall Project March 27, 2024 Openwall Project