首页 > 解决方案 > 如何在 passlib 上下文 python 中修复散列值的长度?

问题描述

我正在使用下面的代码来加密密码。

from passlib.context import CryptContext

pwd_context = CryptContext(
    schemes=["pbkdf2_sha256"],
    default="pbkdf2_sha256",
    pbkdf2_sha256__default_rounds=30000
 )

 def encrypt_password(password):
    return pwd_context.encrypt(password)


 def check_encrypted_password(password, hashed):
    return pwd_context.verify(password, hashed)

当我调用encrypt_password('password')函数时,它会将我的密码加密为哈希值并给我如下输出..

'$pbkdf2-sha256$30000$X6vVGgNgzFmrlVIq5RyjVA$VGQ5x.yuabpdNMDMNc1S3/umqXMl3605DyjJ/lgXAM0'

加密密码哈希值的输出值太长。我想获得固定大小的输出,例如“30 个字符或 40 个字符”。如何获得固定大小的输出。?谁能帮我理解这一点。

谢谢你 !

标签: pythonencryptionhashsha256passlib

解决方案


推荐阅读