2018年应选用何种bcrypt成本值?附Go基准测试修正过程
2018年适用的bcrypt成本值推荐
太好了,你终于修正了基准测试的错误,拿到了成本9到14的准确性能数据——这可是选对bcrypt成本值的关键一步!
先给你拆解下核心逻辑:bcrypt的成本值对应的是2^cost次迭代运算,数值越高,哈希计算越慢,抗暴力破解能力越强,但同时会占用更多CPU资源。结合2018年的主流硬件(比如Intel 8代酷睿、AMD第二代锐龙这类消费级/入门服务器级CPU),我们可以这样针对性选择:
- 成本9:计算速度最快(单次耗时约10-20ms),但安全强度最低,仅适合用户量极大、响应速度优先级远超密码安全,且泄露风险极低的极端场景,一般不推荐用于普通用户密码存储。
- 成本10-12:这是2018年的黄金选择区间。成本10单次运算耗时20-40ms,成本12约80-160ms。这个范围既能让暴力破解(哪怕用GPU集群)变得极其耗时,又不会给服务器带来过重负载,适合绝大多数Web应用、移动端APP的用户密码存储,其中成本11是最普适的选项,安全与性能平衡得恰到好处。
- 成本13-14:单次计算耗时160-640ms,安全拉满,但对服务器并发能力要求较高,适合金融系统、医疗数据平台这类对安全性要求极高的场景,使用前建议先测试服务器的负载承压情况。
最后提个小提醒:bcrypt的成本值需要跟着硬件迭代逐步调高,但在2018年这个时间点,选11或者12基本不会出错。
内容的提问来源于stack exchange,提问作者CommonSenseCode
相关产品推荐
相关产品推荐

