
crypt' メカニズムを理解するcrypt' メカニズムを理解するあるパスワード文字列を作るのに, DES に基づいたハッシュ関数を使っ
たのか, MD5に基づいたハッシュ関数を使ったのかは非常に簡単にわかります.
MD5 を使ったパスワード文字列は必ず `$1$' という文字
で始まります. DESを使ったパスワード文字列はどんな特定の文字も持っていま
せんが, MD5を使ったパスワードよりも短く, `$' という文字
を持たない64文字のアルファベットで構成されています. したがって, ドル記号で
始まっていない比較的短い文字列は DES を使ったパスワードである可能性が非常
に高いです.
あなたのシステムで, どちらのライブラリが使われているかを決めるの
は, スタティックにリンクされている `init' のようなもの(その
ようなプログラムに対する唯一の方法はわかっているパスワードを試してみ
て動くかどうかを確認することです.)を除いたほとんどのプログラムについ
ては非常に簡単なことです. `crypt' を使うようなプログラムは
`libcrypt' にリンクされています. そしてそれぞれのライブラリに
対する `libcrypt' は適切な実装へのシンボリックリンクとなってい
ます. 例えば, DES 版を使っているようなシステムにおいては次のようになって
います:
$ cd /usr/lib
$ ls -l /usr/lib/libcrypt*
lrwxr-xr-x  1 bin  bin  13 Sep  5 12:50 libcrypt.a -> libdescrypt.a
lrwxr-xr-x  1 bin  bin  18 Sep  5 12:50 libcrypt.so.2.0 -> libdescrypt.so.2.0
lrwxr-xr-x  1 bin  bin  15 Sep  5 12:50 libcrypt_p.a -> libdescrypt_p.a
MD5 に基づいたライブラリを使っているシステムにおいては, 同じようなリンクが
見られるでしょうが, そのターゲットは `libdescrypt' ではなく
`libscrypt' になっているでしょう.
crypt' メカニズムを理解する www@freebsd.org
  www@freebsd.org