使用BCrypt
我们使用BCrypt,BCrypt,BCrypt,BCrypt,BCrypt,BCrypt,BCrypt,BCrypt和BCrypt重复几次hellip。
为什么不使用加密算法如{ MD5,SHA1,SHA256,SHA512,沙,等。}
这些
都是通用散列
函数,设计的目的是尽可能快地计算大量数据的摘要,这意味着它们在确保数据完整性方面非常出色,但对存储
密码非常不利。
现代的
服务器计算MD5哈希值约为330mb每秒。如果你的
用户密码和小写的
条件,数字字母混合,和6个字符,你可以在40秒钟内把代码。
根本不需要其他
输入。
如果你愿意花2000美元和一到两周的时间来获取CUDA卡,你可以建立一个小型的超级
计算机集群,每秒计算700000000个密码,据估计,你可以以每秒10%的
速度破解这些密码。
盐不能救你
注意,非常重要:散列盐对字典和暴力是无效的。你可以在喜马拉雅使用大量的盐或盐,甚至是人工开采,冷却,有机盐粉,但它不会
影响攻击者破坏你的密码的速度。
加盐或不加盐,只要你用一般散列函数来设计速度,你就会受到影响。
BCrypt的
解决这些问题
如何从根本上是因为它是慢得离谱。它从Blowfish加密算法和
介绍工作系数(因子)允许你确定哈希函数的强度。由于这些
原因,BCrypt可以遵循穆尔定律的
步骤,计算机的发展速度更快,和你还可以提高功率因数进行哈希计算更加困难。
相比于MD5,多少强度可以达到BCrypt系数工作。当工作系数
设置为12,这将需要大约0.3秒使用BCrypt散列哦在我的
电脑上,另一方面,它是小于1微秒,是采用MD5。
您的密码可能不需要高水平的安全,但更快的计算速度。幸运的是,BCrypt的让你平衡的速度和安全性。