综合知识、生活百科、读书笔记

网站地图

生活常识分类
热门标签:

电脑知识

最新标签:

电脑知识

安全地存储密码的方法

日期:2023/01/15 19:03作者:小编人气:

导读: 这些都是通用的hash函数,设计的初衷是为了尽可能快的计算大量数据的摘要。这意味着它们在保证数据完整性方面非常优秀但是对于存储密码则十分糟糕。  现代的服务器计算 MD5 的哈希值速度大概是每秒330MB。如果你的用户密码满足小写、数字字母混合、6个字符长这几个条件,你就可以在40秒内穷举出该密码。  完全不需要其他的投入。  如果你愿意花费2000美元和一到两周的时间来挑选一块支持 CUDA...

  这些都是通用的hash函数,设计的初衷是为了尽可能快的计算大量数据的摘要。这意味着它们在保证数据完整性方面非常优秀但是对于存储密码则十分糟糕。

  现代的服务器计算 MD5 的哈希值速度大概是每秒330MB。如果你的用户密码满足小写、数字字母混合、6个字符长这几个条件,你就可以在40秒内穷举出该密码。

  完全不需要其他的投入。

  如果你愿意花费2000美元和一到两周的时间来挑选一块支持 CUDA 的显卡,那你可以搭建一个小型的、每秒计算700,000,000个密码的超级计算机集群。估计你可以以每秒10%的速度来解除那些密码。

  加盐也救不了你

  注意了,非常重要的一点:hash加盐对于字典攻击和暴力解除无效。你可以用粗盐,或许多的盐,甚至是人工开采,阴凉的,有机的喜马拉雅粉晶盐。但这都无法影响到攻击者解除你密码的速度。

  加盐与否,只要你用了为速度而设计的通用哈希函数,你就会受到影响。

  怎么做呢?从根本上说,是因为它的(计算速度可以)慢到令人发指。它由 Blowfish 加密算法演变而来,并引入了功系数(work factor),以便让你能决定该哈希函数的计算强度。基于以上原因,bcrypt 可以紧随摩尔定律的脚步。计算机发展更快,你也可以增加功系数来让哈希更难计算。

  比起 MD5,bcrypt 的计算强度能达到多大呢?这就要看功系数了。把功系数设为12情况下,在我的电脑上用 bcrypt 哈希 yaaa 这个密码大概要0.3秒。另一方面,用MD5 来处理要少于1微秒。安全地存储密码的方法

关于我们|联系我们| 网站地图

方舟号 生活百科 科学小知识 | 备案号:鲁ICP备2021038504号-5

声明: 本站所有资料和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站

友情链接:

济南seo 济南网站建设 Axial Fans