我想知道如果我使用 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 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2568469/