服务器协议要求我派生具有有限密钥大小的密码哈希。这是给定的JavaScript + CryptoJS实现:
var params = {keySize: size/32, hasher: CryptoJS.algo.SHA512, iterations: 5000}
var output = CryptoJS.PBKDF2(password, salt, params).toString();
我想使用 Passlib 在 Python 中重新实现它,即类似
from passlib.hash import pkbdf2_sha512
output = pbkdf2_sha512.hash(password, salt=salt, rounds=5000)
Passlib API 不允许我指定密钥大小。怎么做呢?
如果派生的键 to long 只需将其截断到所需的长度。每个字节与其他每个字节一样有效,您使用哪个字节没有区别,没有排序。