keystone.common.password_hashing 模块

keystone.common.password_hashing.check_password(password: str, hashed: str) bool[source]

检查明文密码是否与哈希值匹配。

hashpw 返回盐值与实际哈希值的串联。如果将此值作为盐值传递,它将提取实际的盐值。

keystone.common.password_hashing.generate_partial_password_hash(password: str, salt: str) str[source]

生成用于报告目的的部分密码哈希值。

生成的密码哈希值是 base64 编码的,并且返回其中的 max_chars 个字符。

keystone.common.password_hashing.hash_password(password: str) str[source]

哈希密码。更安全。

keystone.common.password_hashing.hash_user_password(user)[source]

哈希用户字典的密码,而不修改传入的字典。

keystone.common.password_hashing.verify_length_and_trunc_password(password) bytes[source]

验证并截断提供的密码到 max_password_length。

我们还需要检查配置的密码哈希算法是否会静默截断密码。例如,passlib.hash.bcrypt 这样做: https://passlib.readthedocs.io/en/stable/lib/passlib.hash.bcrypt.html#security-issues