CakePHP加密不是很好吗?

时间:2012-05-25 17:51:22

标签: php cakephp md5

我有一个带有PHP pass + salt 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文档:

“boolean $ salt optional false

如果为true,则自动将应用程序的salt值附加到$ string(Security.salt)“

正在使用“。”在$pass . '123'中没有附加?

另外,在我的core.php文件中:

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

1 个答案:

答案 0 :(得分:0)

  

正在使用“。”在$ pass。 “123”没有追加?

您现在可以测试一下,让我们知道:

$temp = ($pass . ($use_salt ? '123' : ''));
echo $temp;