我听说我们不应该依赖Adler32,我想问为什么。
为什么我们不相信Adler32会散列呢?是可逆的吗?或者我们能轻松地看到真实的文本吗?
发布于 2016-10-28 19:25:13
绝对不能使用Adler32进行密码散列。
对于短输入,可以从8位CRC中获得大量信息。通常,对于加密散列,输入数据中的一位更改将改变50%的输出位。
它不是为了避免碰撞而设计的,它是一个CRC。许多哈希函数都是为其他目的而设计的,例如字典查找或“瓶子俱乐部”中的存储桶之类的冲突并不是问题,它们只是使用成员号的最后几位数来实现瓶子在存储桶之间的均匀分布。
密码安全:
仅仅使用哈希函数是不够的,仅仅添加一个salt对提高安全性没有多大作用。相反,iIterate在HMAC上使用随机盐,持续时间约为100 an,并使用哈希保存salt。使用诸如PBKDF2、password_hash、Bcrypt和类似的函数。关键是要让攻击者花费大量时间通过暴力查找密码。
SHA-512带盐的原因之一是,一台笔记本电脑(我的)每秒可以执行75万个密码,这将应用于一个按使用频率排序的10,000,000个密码列表,然后有一些特殊的程序对这些密码进行排序。除非是长矛捕鱼,否则攻击者可能会对90%的破解密码感到满意。因此,通过将计算机时间从<2us延长到>100 as,攻击者需要花费50,000倍的时间,他可能会移动到下一个站点。
保护您的用户很重要,请使用安全密码方法。
原因如下:攻击者攻击您的站点,获取MD5密码,使用蛮力和通用密码列表,并具有用户的用户名和密码。现在,攻击者在另一个站点上使用它来访问更敏感的数据,因为大多数用户都重复使用密码。您刚刚帮助损害了用户。注:一个像样的黑客比率可能是10亿/秒。攻击者会喜欢你的网站,你甚至不会知道它被成功地攻击了。
发布于 2016-10-31 14:06:12
一个不是“解密”一个哈希,一个哈希不隐藏“真正的文本”-加密,而不是哈希,做到这一点。但是如果你的意思是,Adler-32可以用作密码散列吗?那绝对不能。密码散列的要求是,对于可预见的硬件和数学来说,用给定的哈希构造消息是极其困难的,实际上是不可能的。对于Adler-32来说,很容易做到这一点,事实上,任何32位哈希都很容易做到。32位是远远不够的。
https://stackoverflow.com/questions/40311228
复制相似问题