CakePHP加密是否工作不正常?

CakePHP加密是否工作不正常?,php,cakephp,md5,Php,Cakephp,Md5,我有一个使用PHP pass+salt md5加密的旧数据库,我正在尝试使用CakePHP,但cake加密结果与我的不匹配: $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($

我有一个使用PHP pass+salt md5加密的旧数据库,我正在尝试使用CakePHP,但cake加密结果与我的不匹配:

$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\u salt=false结果如下:

array
    'raw_pass' => string 'francis'
    'cake_hash_pass' => string 'd0ab7fe6c314f4fe5b6c18a0157c96b4'
    'php_md5_pass' => string 'd0ab7fe6c314f4fe5b6c18a0157c96b4'
它匹配,没问题。但是当我添加salt
$use\u 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可选错误

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

正在
$pass'中使用“.”123'
是否不追加

另外,在my core.php文件中:

/**
 * A random string used in security hashing methods.
 */
    Configure::write('Security.salt', '123');
正在$pass中使用“.”123'不附加

您可以立即进行测试,并告知我们:

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

你的意思是散列,而不是加密下面的链接:,我发现CakePHP在传递之前会附加salt。我做的正好相反;)