WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:cryptで返る文字列の長さは?(PERL)

andi[MAIL][URL][WriteDate : Thu Nov 16 10:29:01 2000]

こんにちはお世話になります。
文字列を暗号化する時にcryptを使用します。
ただしデータとして固定長の文字列が必要なため、
cryptで何度かテストを行ったところ常に「13」が返ってきました。

念のためにいくつかのサイトで確認しようと思ったのですが、
具体的にこの文字列長に記述されているサイトを見つけられませんでした。
(とほほや手元のリファレンス)

どなたか詳しい仕様をご存知ないでしょうか。

ちゃいぱ[MAIL][URL][WriteDate :Thu Nov 16 13:21:49 2000]

バージョン5.003_07 & 5.004_04も「13」でした。
ラクダ本やC言語のマニュアルをあたって見ましたが、それらしき説明には見当たりませんでした...。

回答にはなっていませんが、とりあえずご報告まで...。

andi[MAIL][URL][WriteDate :Thu Nov 16 23:38:30 2000]

回答ありがとうございます。
あの後自分でも色々と調べたのですが結局見つかりませんでした。

当面は13と仮定して作成していきたいと思いますが、
何か分かりましたらまたお教えください。よろしくお願いします。

おーなーしぇふ[MAIL][URL][WriteDate :Fri Nov 17 00:47:33 2000]

直にPerlというわけではないですが、ネット検索でひっかかったので一応、参
考まで……
※私自身は詳しくないですけど(^^;)

●crypt(3)の解説?
http://www.geocities.com/Broadway/Wing/3331/txt/passtxt.htmより
※少しあやしげなページ?(^^;)
>crypt(3)は……(略)……最後の64ビットのテキストブロックを11
個の文字列にアンパックし/etc/passwdに記録しています。
>(前略)使用したソルトは暗号化された文字列の最初の二文字として記録さ
れています。

http://www.kinjo.ac.jp/archive/unix/GNU/security/Shadow-Password-HOWTO.eucより
>2.4.  crypt(3) の概要
>crypt(3) のオンラインマニュアルより:
>(中略)
>戻し値は暗号化されたパスワードへのポインタであり、このパスワードは13
文字の ASCII 文字である(最初の2文字はsaltそのものである)。

「最初の二文字(=salt)+11個の文字列=13」で良いかと……
※『Cライブラリのcrypt関数とまったく同じようにして文字列を暗号化する』
(楽駄本?より)そうですし……でも肝心のCライブラリのcrypt関数の説明が、
ネット検索しても(詳しいのが)見つからない(涙)


おーなーしぇふ[MAIL][URL][WriteDate :Fri Nov 17 00:49:26 2000]

リンクに「より」の部分まで入ってしまいました……
http://www.geocities.com/Broadway/Wing/3331/txt/passtxt.htm
http://www.kinjo.ac.jp/archive/unix/GNU/security/Shadow-Password-HOWTO.euc

andi[MAIL][URL][WriteDate :Fri Nov 17 09:46:06 2000]

ご丁寧にありがとうございました。
おかげさまで安心して開発が続けられます。

ところでおーなーしぇふって・・・
サンジって人もいましたし(笑)。
関係なかったら失礼します。

B-Cus[MAIL][URL][WriteDate :Sun Nov 19 05:37:34 2000]

crypt は一方向ハッシュ関数へのインタフェースであって、
実際にどういう変換が行われるかは規定していません。
# perl の crypt は、C の crypt ライブラリを使っている
# だけです。

UNIX 界隈では長らく crypt 内部で DES という
仕組みが使われてきました。しかし現在は MD5 を使う
OS (FreeBSD とか Laser5 Linux とか) も増えています。
それぞれ生成される文字列が全く違います。

で、13 文字 (うち salt 2文字) なのは DES の仕様です。
うちは MD5 なので30文字くらいでます (salt は最大8文字)。

http://www.geocities.com/Broadway/Wing/3331/txt/passtxt.htm 
http://www.kinjo.ac.jp/archive/unix/GNU/security/Shadow-Password-HOWTO.euc 

両方とも、DES と MD5 と crypt の関係を正しく記述して
いないので、お勧めしません。


andi[MAIL][URL][WriteDate :Sun Nov 19 21:19:31 2000]

B-Cusさん、お世話になります。

現在の所は自サーバでのみの使用を考えていますので
13文字で行こうと思いますが将来的にMD5への対応も考えてみます。

ありがとうございます。
回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]