php – 在MySQL中存储SHA-512哈希

我想知道我是否使用PHP的hash()函数来生成sha512哈希我的MySQL表字段如何才能保存哈希密码.

这是我当前的MySQL密码字段布局

char(40)
最佳答案
sha512哈希表示为128个字符长的字符串.

例如,以下代码部分:

$sha512 = hash('sha512', "Hello, World!");
echo strlen($sha512);

会给出这个输出:

128

这意味着你的char(40)太小了,你应该使用char(128).

另一种解决方案是将其存储为二进制形式,而不是字符串 – 这意味着64字节.

但请注意,在某些情况下,我认为可能更难处理这种表示.

转载注明原文:php – 在MySQL中存储SHA-512哈希 - 代码日志