首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MySQL中存储哈希密码

问在MySQL中存储哈希密码
EN

Stack Overflow用户
提问于 2010-02-24 00:00:34
回答 2查看 7.9K关注 0票数 9

我在PHP中使用加了盐的sha1创建哈希密码。

我的问题是:在MySQL中,存储结果的正确字符编码、字段类型和长度是什么?

对于密码安全性,MySQL中还有什么需要考虑的吗?最后,SHA256或SHA512是实用的散列选择吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-02-24 00:05:29

对于SHA1散列,CHAR(40)将是最佳的字段类型和长度。字符编码不应该太重要,所有字符都在ASCII范围内。为了保持一致性,我会使用与数据库其余部分相同的字符集。

票数 5
EN

Stack Overflow用户

发布于 2010-02-24 00:18:01

SHA-2算法(SHA-256、SHA-512)是有效的选择;但是它们需要更多的存储空间。例如,要存储SHA-256的十六进制数字,您需要一个CHAR(64)字段。关于SHA-1是否是“坏”的Schneier discussed it和NIST commented,一直存在一些问题。如果您担心这些问题,那么使用SHA-2函数之一可能会更好。

如果您想要增加暴力攻击的成本,您还可以考虑使用诸如PBKDF2之类的算法添加一些迭代。有人发布了一个示例here in the comments。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2319588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档