question:1299688445 を切っ掛けに、/etc/shadow ファイルのパスワードフィールドを調べてみたら、思いの外、複雑な処理をしているのが分かったので、実際にこの処理を追いかけてみました。 近頃の UNIX 系 OS の /etc/shadow のパスワードフィールドは、実際にはいくつかのハッシュ関数を選べる事になっています。 Crypt (Unix) - Wikipedia UNIX 系 OS には、crypt という C 言語用の関数が用意されていて、伝統的には DES を使った処理でパスワードフィールド用の文字列を生成していたのですが、この関数自体を拡張することで、MD5 や SHA-256、512 といったハッシュ関数を使う処理も出来るようになっています。どの方式を使っているかは、パスワードフィールドの文字列の先頭にある「$1$」といった部分で判断します。 先頭