首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >64基座的盐渍密码安全吗?

64基座的盐渍密码安全吗?
EN

Stack Overflow用户
提问于 2014-12-21 22:21:35
回答 4查看 2.8K关注 0票数 1

在一个web应用程序中,我从/dev/urandom读取一些字节,以获得用于散列密码的随机盐。

放散之前先把盐base64好吗?因为base64编码有时会在结尾附加一些=,这可能会导致已知的明文攻击。但这可能没什么问题,因为盐仍然储存在db中,或者我错了吗?

这对应用程序的安全性有影响吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-12-21 22:46:21

大部分情况下,很可能不是。您的salt必须知道才能解密密码,因此我们可以假设任何攻击者都可以获得哈希密码和所使用的salt。您的salt现在所保护的是防止基于彩虹表的攻击和增加工作量(因为每个明文现在需要散列n次数,而不是一次来与n密码进行比较)。

只要你的盐有合理的长度,你可能会没事的。

票数 2
EN

Stack Overflow用户

发布于 2014-12-21 22:39:45

这取决于使用的哈希算法,字符的字母表被接受为salt。例如,BCrypt将接受以下字符,这些字符与base64编码的文本几乎(但不完全相同):./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz

已知的纯文本攻击在这里是没有问题的,因为我们不加密任何东西,尤其是盐。

票数 2
EN

Stack Overflow用户

发布于 2014-12-21 22:54:30

不不安全。

您不应该对用户密码使用任何哈希函数。相反,您应该使用一个基于密码的密钥派生函数,例如PBKDF2或scrypt,并使用适当的迭代次数,以减缓散列,从而减少蛮力攻击的风险。

What's the difference between a Key Derivation Function and a Password-Hash?

如果您在web应用程序中使用PHP:

Do I need base64 encode my salt (for hashing passwords)?

Secure hash and salt for PHP passwords

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

https://stackoverflow.com/questions/27594385

复制
相关文章

相似问题

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