java - 如何创建 mysql "sha-256"列?

标签 java mysql encryption sha256

对于密码列,是否有 mysql 功能来存储使用“sha-256”散列的密码?或者我应该在将它存储在数据库中之前从 java 代码(如 How to hash some string with sha256 in Java? )对其进行哈希处理,然后每次对输入的密码进行哈希处理并与数据库列值进行比较以进行身份​​验证?

TIA。

最佳答案

您可以将该值转换为十六进制并使用具有适当长度的 char(n) 列 - 在本例中为 64。可以使用 sha2 在 MySQL 中完成转换hash_length 设置为 256 的函数。

但出于安全原因,您不应存储使用 SHA-256 散列的密码。

改为使用 bcryptPBKDF2 .

相关

关于java - 如何创建 mysql "sha-256"列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11921780/

相关文章:

java - 将 Log4j 日志记录添加到 Vaadin 8 应用程序

java - 我无法使用 zxing 读取翻转垂直二维码

mysql - 插入不存在的值

ssl - 在 ESP8266 (Arduino IDE) 上使用 BearSSL 进行指纹验证

java - 如何从日历返回从一天开始算起的毫秒数

java - 将类添加到第三方依赖项/包中是一种不好的做法吗? (java)

php - 如何将多个复选框及其文本字段插入 MySQL 数据库

mysql - 如果表按日期排序,如何在 MySQL 上选择特定行之前的行?

encryption - libevent:为什么它依赖于 openssl?

php - 密码哈希无法登录 codeigniter