口令与密钥派生
更多
口令是人可记忆的秘密;加密算法通常要求固定长度且质量足够的密钥。密钥派生函数可结合口令、盐值和参数生成密钥材料,而不是把口令文字直接当成密钥。[1]
PBKDF2 的输入
PBKDF2 的核心输入包括口令 P、盐值 S、迭代次数 c 和目标长度 dkLen,另有伪随机函数的选择。口令相同但盐值不同,派生输出通常不同;缺失盐值、迭代次数或函数名,就不能可靠地复现已有结果。[2]
与哈希、加密的区别
派生函数不是“破解口令”的操作。加密需要算法、模式、密钥及可能的初始向量;密码验证可能保存的是口令处理后的值而非原口令。看到一段十六进制或 Base64 字符串,也不能仅凭外观判断它是密钥、散列还是密文。相关概念见 AES、MD5 与 SHA家族。