我试图在cakephp网站上执行简单的身份验证教程,但我得到了#34; Invalid Salt"尝试登录用户时出现错误消息。
在CORE \ Utility \ Security.php _crypt中,它会检查我的盐是否以" $ 2y $"," $ 2x $"或" $ 2a开头$"但他们不。我用
加密它们if (isset($this->data[$this->alias]['password'])) {
$passwordHasher = new BlowfishPasswordHasher();
$this->data[$this->alias]['password'] = $passwordHasher->hash(
$this->data[$this->alias]['password']
);
}
谁能告诉我为什么我的盐无效?我不明白他们为什么不从预期的字符串开始?
答案 0 :(得分:2)
我想出来!!!!!
我的Php版本是5.2,为了使河豚正常工作,它应该是5.3或更高。我把它改为5.5,现在它工作正常。 YAY !!
答案 1 :(得分:0)
你的盐无效(你已经确定它不是),或它少于29个字符。
//Cake/Utility/Security.php
if ($salt === true || $invalidCipher || strlen($salt) < 29) {
trigger_error(__d(
'cake_dev',
'Invalid salt: %s for %s Please visit http://www.php.net/crypt and read the appropriate section for building %s salts.',
array($salt, 'blowfish', 'blowfish')
), E_USER_WARNING);
return '';
}