在 FastAPI 官方文档中,一串字符串先使用 bcrypt 进行加密,然后放在 db 字典中,再输入密码加密进行对比是否相等。那请问如何确保第一串字符串 bcrypt 加密后和第二串相同的字符串 bcrypt 加密后一样呢,如何生成的第一串 bcrypt 加密后的字符串内容:

要确保第一串字符串 bcrypt 加密后和第二串相同的字符串 bcrypt 加密后一样,需要使用相同的 salt 值。在 bcrypt 加密中,salt 值是随机生成的,所以需要将第一次加密时生成的 salt 值存储在 db 字典中,以便后续使用相同的 salt 值进行加密。

生成第一串 bcrypt 加密后的字符串可以使用 bcrypt 库提供的 hashpw 函数,示例如下:

import bcrypt

password = 'secret'
salt = bcrypt.gensalt()  # 生成 salt 值
hashed_password = bcrypt.hashpw(password.encode('utf-8'), salt)  # 使用 salt 值加密密码

在上述示例中,使用 gensalt 函数生成 salt 值,然后使用 hashpw 函数将密码和 salt 值一起加密,生成哈希值。生成的哈希值可以存储在 db 字典中,以便后续进行密码验证。

FastAPI 中使用 bcrypt 加密密码:确保加密一致性和安全

原文地址: https://www.cveoy.top/t/topic/nJxw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录