Bcrypt加密速度慢是否是鸡肋?

Bcrypt比md5加密要慢上万倍 能否说明Bcrypt是鸡肋呢?
毕竟目前加盐的md5还是不容易破解的。

阅读 9.8k
2 个回答

第一,我不知道楼主说Bcrypt比md5加密要慢上万倍是怎么来的。

在我的Macbook 中配上跑1000次大概是十万倍左右

我的观点是:既然加密,目的不就是安全最重要么?虽然我们会遇到安全与速度的权衡问题,但我还是会倾向于选择安全,不然那一堆搞出Bcrypt的人是想什么,就一个速度问题就说Bcrypt鸡肋,我觉得这很不妥。

md5加盐值我不提倡使用:详情看我的文章:http://segmentfault.com/a/1190000003024932

取决于你具体使用的场景.

md5加密是快,在密码只有小写字母+数字组合的情况下,一台比较好的PC机,在40s内就可以穷举出所有的口令.
Bcrypt虽然慢,但是对于验证用户口令方面不算慢,对于穷举来说,就很慢了.

因为bcrypt采用了一系列各种不同的Blowfish加密算法,并引入了一个work factor,这个工作因子可以让你决定这个算法的代价有多大。因为这些,这个算法不会因为计算机CPU处理速度变快了,而导致算法的时间会缩短了。因为,你可以增加work factor来把其性能降下来。

那么,bcrypt到底有多慢?如果和MD5一起来比较的话,如果使用值为12的work factor的话,如果加密“cool”的话,bcrypt需要0.3秒,而MD5只需要一微秒(百万分之一秒)。也就是说,前面我们说的那个只需要40秒就可以穷举完所有的可能的MD5编码的口令的算法,在使用bcrypt下,需要12年。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏