什么是强哈希算法pbkdf2(Password-Based Key Derivation Function)
文章目录
- 什么是pbkdf2
- 使用场景
- 在线工具
什么是pbkdf2
维基百科:https://zh.wikipedia.org/zh-cn/PBKDF2
PBKDF2(Password-Based Key Derivation Function 2)是一种基于密码的密钥派生函数。它的主要作用是从密码和盐(salt)派生出固定长度的密钥。PBKDF2 的设计目标是增加密码猜测攻击的成本,即使攻击者能够获得哈希函数的输出,也很难从中推导出原始密码。
PBKDF2 的工作原理如下:
-
接收输入参数:密码、盐、迭代次数、期望的输出密钥长度和哈希函数。
-
将密码和盐输入到 HMAC(Hash-based Message Authentication Code)中,并进行迭代哈希运算。
-
迭代的次数由用户指定,每次迭代的结果都与前一次迭代的结果结合起来作为下一次迭代的输入。
-
当达到指定的迭代次数后,输出最终的密钥。
PBKDF2 的安全性主要依赖于使用足够的迭代次数和足够长的盐。通过增加迭代次数,攻击者需要花费更多的计算资源来进行密码猜测攻击。同时,使用盐可以防止使用彩虹表等预先计算技术进行攻击。
PBKDF2 是一种常用的密码学工具,被广泛用于密码存储、密钥派生等场景,以增强密码的安全性。
使用场景
PBKDF2(Password-Based Key Derivation Function 2)算法作为一种基于密码的密钥生成方法,广泛应用于各种安全场景。
做过网站的人都知道用户密码必须经过加密的,其中用的最普遍的就是MD5加密了.但是随着彩虹桥技术的兴起,MD5加密已经不再安全。
PBKDF2算法通过多次hash来对密码进行加密。原理是通过password和salt进行hash,然后将结果作为salt在与password进行hash,多次重复此过程,生成最终的密文。此过程可能达到上千次,逆向破解的难度太大,破解一个密码的时间可能需要几百年,所以PBKDF2算法是安全的。
在线工具
OSChina提供的工具 https://tool.oschina.net/encrypt?type=2