0

使用時

    $t_hash = new PasswordHash(12, FALSE);

の各インスタンス

    $passHASH = $t_hash->HashPassword($password);

同じ単語が提示されても、異なる結果を返します。例えば:

$t_hash->HashPassword('test') => $2a$12$7OKS2iaFMWfTYL7sHdl9EunA90.ZdiEIXgPcpXFsqrhD3z7tk06eO
$t_hash->HashPassword('test') => $2a$12$MWtkeSMQgUU22nCjRZmV8uG8dgHByM1nvyrk7XE9bw6znK8ZDFfwy
$t_hash->HashPassword('test') => $2a$12$Dx1sYTWIZmiREyn0KYh4G.daUNsmksYiSpnUKdaHZMrELIwmlhPyW

誰でもこの問題を解決するのを手伝ってもらえますか? 次のコードを実行すると

$t_hash = new PasswordHash(12, FALSE);
$passwordHASH = $t_hash->HashPassword($array['pass']);
$passwordHASH = $t_hash->HashPassword($passwordHASH,$array['pass']);
print($passwordHASH."<br/>");
$passwordHASH = $t_hash->HashPassword($passwordHASH,$array['pass']);
print($passwordHASH."<br/>");
$passwordHASH = $t_hash->HashPassword($passwordHASH,$array['pass']);
print($passwordHASH."<br/>");
$passwordHASH = $t_hash->HashPassword($passwordHASH,$array['pass']);
print($passwordHASH);

戻り値

$2a$12$h3BLa3ytEmASpHgqVnmj4.3K5TwPPqwQG/cGHx/64KN1lqMtFZ8dC
$2a$12$x4uK46uBjv5xVstc4sR7iOrOJGPbSbWJRZIFlz9ir7ktydpYqStxO
$2a$12$r.CAy.amcVTFG.CtkTNg0eBN4HXP8tp4Yj/tsIVH7SxmK1bGjQJLS
$2a$12$8NzPVId7ReZVJJA7oWtkvuR2WKwPIUkpY/NQ2lszSH6EwdubzyIrm
4

1 に答える 1

1

これは正しい動作であり、HashPassword呼び出すたびにランダムなソルトを使用するため、結果は同じではありません。

于 2012-06-22T04:37:38.933 に答える