C中的PBKDF2 HMAC SHA256模块
背景
C模块包含一个用于OpenSSL的PBKDF2实现的包装器,以及一个简单的盐生成器。
PKCS#5中定义的PBKDF2(基于密码的密钥派生功能#2)是一种从密码派生随机值的算法。
该算法将伪随机函数(在这种情况下为SHA256 HMAC)与盐字符串一起应用于密码,并重复多次此过程以创建派生密钥(即哈希)。 派生的密钥可以与纯文本盐字符串一起存储到例如密码文件或数据库表中。
将盐与密码一起使用会降低使用彩虹表破解哈希的能力。 迭代次数的增加使使用蛮力方法更难破解密码,但同时也减慢了密钥派生的速度。
更多信息:
用法
有关示例程序,请参见test.c
基本上,函数hash_password返回可以存储到持久性存储中的摘要字符串。 字符串的格式为
[salt] + SEPARATOR + [digest]
其中[digest]是pb
2021-09-15 18:34:04
4KB
C
1