passwdの暗号化

/etc/passwd や /etc/shadow に記録されているのは xxXXXXXXXXXXX 的なDES Crypt形式と、$1$xxxxxxxx$XXXXXXXXXXXXXXXXXXXXXX 的なMD5 Crypt形式があります。

頭の$1$で区別できるので併存することもできます。

http://siisise.net/linux/crypt.html

昔の Unix では salt は平文パスワードの先頭2文字。
MD5 形式では暗号文パスワードの $1$ とそれ以降8文字(どうやって salt を選んでいるのかは未調査)。


glibc2 の crypt(3) は次の拡張機能を持っている。

  • salt が"$1$"で始まり最大8文字続き、任意で"$"で終わるときは MD5 ベースのアルゴリズムを使う。


libcryptの使い方
http://www.nurs.or.jp/~ogochan/linux/crypt.html
crypt() アルゴリズム解析 (MD5バージョン)
http://ruffnex.oc.to/kenji/xrea/md5crypt.txt