【笔记】bcrypt学习笔记

前言

bcrypt是一个由美国计算机科学家尼尔斯·普罗沃斯(Niels Provos)以及大卫·马齐耶(David Mazières)根据Blowfish加密算法所设计的密码散列函数,于1999年在USENIX中展示。实现中bcrypt会使用一个加盐的流程以防御彩虹表攻击,同时bcrypt还是适应性函数,它可以借由增加迭代之次数来抵御日益增进的电脑运算能力透过暴力法破解。(维基百科

构成

  • bcrypt固定长度为60

<version>:2位版本

2:1999年,初代
2a:通用标准修复版
2b:2014年2月,现代通用版本
2x2y:2011年6月,PHP历史兼容补丁

<cost>:2位迭代次数,取值范围为[4,31],迭代次数为2的<cost>次幂
<salt>:22位盐
<hash>:31位密文

1
$<version>$<cost>$<salt><hash>

完成