【发布时间】:2011-06-10 21:33:35
【问题描述】:
我和我的一个朋友聊天,他说要将用户密码存储在数据库中,他和我引用:
- 获取用户密码
- 用随机盐对其进行哈希处理
- 然后,他在#2 的结果前面加上哈希类型和盐,用竖线分隔的字符串将它们连接起来。 (例如 SHA1|RANDOMSALT|afde4343....)
- 将#3 的结果存储在数据库中
他声称这是可读的,因为他“可以立即知道”使用哪种类型的哈希摘要。
我想我以前从未见过这种情况,但是,我正在寻找为什么它会很糟糕的原因,除了未经授权的用户可以立即知道使用哪种类型的哈希来加密密码和存储字段所需的额外空间。
我的直觉反应是这种处理密码的方法很愚蠢,因为任何帮助攻击者破解密码的迹象都是一个弱点。我应该用什么其他理由来说服他这是个坏主意?
谢谢!
【问题讨论】:
标签: database hash passwords cryptography