如何使用Passlib 1.7+限制密钥长度

时间:2017-02-08 15:48:08

标签: python cryptojs pbkdf2 passlib

服务器协议要求我使用有限的密钥大小派生密码哈希。这是给定的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不允许我指定密钥大小。怎么办呢?

1 个答案:

答案 0 :(得分:0)

如果派生键长,只需将其截断为所需长度即可。每个字节和其他每个字节一样有效,它使用哪个字节没有区别,没有排序。