当我使用hash('sha512', $salt . $password);
哈希密码时,数据库中密码列的最大长度是否为512,或者它是否会被切断?或者它可能超过512?感谢。
答案 0 :(得分:12)
SHA512实际上返回128个字符串的字符串。所以简短的回答是,你的字段只需要128个字符。
答案 1 :(得分:3)
答案 2 :(得分:1)
只是一个演示来查看散列密码的长度
$password = 'password';
$salt = 'salt';
$hash = hash('sha512', $salt.$password);
echo strlen($hash); // OUTPUTS 128
答案 3 :(得分:1)
这取决于您正在使用的哈希算法生成的字符串的长度。发布的评论here表明,您选择的sha512算法生成的字符串长度为128个字符。因此,您的字段应为128个字符。它可以更多,但它是不必要的。减少密码将减少密码,从而使您的哈希密码“无效”。