Python密码含特殊符号用md5加密后显示密码与数据库中不一致,但看到数据库中密码与加密后密码一致
看下你用的文本编码是否和你的程序中的一致
【以下回答由 GPT 生成】
可能的原因是在密码加密过程中,特殊符号没有被正确处理导致不一致。以下是一个可能的解决方案:
ALTER TABLE 表名 MODIFY COLUMN 密码字段 VARBINARY(64);
password = "含有特殊符号的密码"
encoded_password = password.encode('utf-8')
import hashlib
hashed_password = hashlib.md5(encoded_password).hexdigest()
# 将 hashed_password 存储到数据库中
# 假设用户输入的密码是 user_input
user_input = "用户输入的密码"
# 对用户输入的密码进行编码和加密
encoded_user_input = user_input.encode('utf-8')
hashed_user_input = hashlib.md5(encoded_user_input).hexdigest()
# 从数据库中获取存储的密码 hashed_password
# 进行比对
if hashed_user_input == hashed_password:
print("密码验证成功")
else:
print("密码验证失败")
【相关推荐】