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

标签 php mysql security

我想知道如果我使用 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/

相关文章:

PHP/MySQL - 表单输入值 "&"保存为 "&"

php - SQLSTATE[42S02] : Base table or view not found: Laravel

PHP MySQL utf 8 编码

mysql - VPS 上的 Apache 和 MySQL 安装

ruby-on-rails - 为 Rails 编写加密的 cookie session 存储;我的方法安全吗?

php - 具有一对一关系的 Laravel 表单绑定(bind)

java - 从 MySQL 获取数据到 Android 应用程序

MYSQL插入数据错误

c# - 黑客使用的 SQL 注入(inject)技术有哪些需要了解

java - 如何测试 Jboss 7AS 的 POODLE 漏洞