我有一箇舊的數據庫與PHP通+鹽md5加密,這我試圖使用CakePHP,但蛋糕加密結果使用不符合礦山: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文檔,我可以讀:
「布爾$鹽可選假
如果爲true,則自動將應用程序的鹽值附加到$ string(Security.salt)中。「
正在使用」。「在$pass . '123'
不追加嗎?
而且,在我core.php中的文件:
/**
* A random string used in security hashing methods.
*/
Configure::write('Security.salt', '123');
你的意思是哈希,不加密 – Oleksi