0

PHPパス+ソルトmd5暗号化を使用した古いデータベースがあります。これをCakePHPで使用しようとしていますが、ケーキ暗号化の結果が私のものと一致しません。

$pass = 'francis';
$data['raw_pass'] = $pass; 
$data['cake_hash_pass'] = Security::hash($pass, 'md5', $use_salt);
$data['php_md5_pass'] = md5($pass . ($use_salt ? '123' : ''));
var_dump($data);

$use_salt = false;ここに結果があります:

array
    'raw_pass' => string 'francis'
    'cake_hash_pass' => string 'd0ab7fe6c314f4fe5b6c18a0157c96b4'
    'php_md5_pass' => string 'd0ab7fe6c314f4fe5b6c18a0157c96b4'

一致します、問題ありません。でも塩を加えると$use_salt = true;

array
    'raw_pass' => string 'francis' (length=7)
    'cake_hash_pass' => string '74055e005d086abb69c1f82e8bf1f061' (length=32)
    'php_md5_pass' => string '8d709b4b6461aef614529a83d883c64b' (length=32)

結果は同じではありません...私はここで立ち往生しています、CakePHPのドキュメントで私は読むことができます:

"ブール$saltオプションfalse

trueの場合、アプリケーションのソルト値を$ string(Security.salt)に自動的に追加します。」

使っています "。" $pass . '123'追加しないで?

また、私のcore.phpファイルでは:

/**
 * A random string used in security hashing methods.
 */
    Configure::write('Security.salt', '123');
4

1 に答える 1

0

使っている "。" $pass で。'123' は追加されませんか?

今すぐテストして、お知らせください。

$temp = ($pass . ($use_salt ? '123' : ''));
echo $temp;
于 2012-05-25T18:35:37.953 に答える