2006/02/23

crypt(3)関数の出力

引き続き, crypt()関数の話題.
GNU libcのMD5拡張を使用した出力値について.

GNU libcでは, saltに'$1$'と'$'で囲まれた0~8文字の文字列が
渡された場合, 従来のDESに代わりMD5によるハッシュをしようする.

crypt()関数の出力値の形式について.
crypt()関数の出力は, (salt)(ハッシュ値)の形式で出力される.
従来のDESでは, saltは2文字のため, 出力値が以下のような場合,
ABmNUzX/OejnU
saltは先頭2文字分の"AB"となる. その後ろの部分がパスワード(8文字以下)の
ハッシュ値.
ちなみに, 上記例ではパスワードは"passwd"

一方MD5を使用した場合, 同じ"AB", "passwd"を使用しても
こんな感じの出力となる.
$1$AB$Jw4pIhF4slwI0QN9TQ5hj1
saltは'$1$'と'$'に囲まれている.

ちなみにsaltに使用できる文字は[/a-zA-Z0-9]の64文字.

0 件のコメント: