0

パスワードを保護するためのさまざまな手法について読んでいます。私は、あなたがどんな予防策を講じても、長期的には決心したハッカーを遅くするだけであることを知っています。PHPとPBKDF2でのbcryptの使用について調べました。

今のところ、ハッシュの作成方法は無視します。あらかじめ決められた位置でハッシュに入力された、たとえば4つ以上のランダムに選択されたASCII文字のセットがあれば、それはどんな用途でもありますか。異なる長さのハッシュはありますか?したがって、文字数を数えただけで、あるタイプにmd5を別のタイプのように見せることができますか?

これもまた、あなたがこれを行っていることを誰かが知っているだけで遅くなり、ランダムな文字を配置するために使用している位置を取得することを理解していますか?

4

1 に答える 1

2

ハッシュを安全にするためにランダムな文字をハッシュに配置しても意味がありません。最終的には、実際のハッシュを見つけて、ユーザーの入力から計算された生成されたハッシュと比較する必要があるためです。

ハッシュにはシードを使用することをお勧めします。がジェネリックhash関数で$seedあり、これを実行できるシードであるとします。

$seed = 'a_constant_value';
$seeded_hash = hash( $seed . $password );

シードを定数にしたくない場合は、ユーザーからの別のクレデンシャルをハッシュに追加します。

$seed = 'a_constant_value';
$user_credential = 'any_data_of_this_user';
$seeded_hash = hash( $seed . $user_credential. $password );

ここで、このユーザー資格情報が各ユーザーに対して一定であることを確認してください。ユーザーの誕生日、血液型の場合があります。

于 2012-06-08T14:52:41.523 に答える