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

 痞子彪2012_890 发布于 2022-11-21 07:40

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

2 个回答
  • 取决于你具体使用的场景.

    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年。

    2022-11-21 09:27 回答
  • 第一,我不知道楼主说Bcrypt比md5加密要慢上万倍是怎么来的。

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

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

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

    2022-11-21 09:27 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有