utf-8、pbkdf2_sha

#utf-8加密、解密

import base64

base64.b64encode('lienlien123'.encode('utf-8'))

b'bGllbmxpZW4xMjM='

base64.b64decode(b'bGllbmxpZW4xMjM='.decode('utf-8'))

b'lienlien123'

#pbkdf2_sha加密,校验

该种密码在不同时刻会有产生不同的加密结果

该加密方法使用的是散列消息,所以加密是不可逆的,

只能通过校验验证密码加密解密后是否一致,不可解密

PASSWORD_HASHERS = (

'django.contrib.auth.hashers.PBKDF2PasswordHasher',

'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',

'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',

'django.contrib.auth.hashers.BCryptPasswordHasher',

'django.contrib.auth.hashers.SHA1PasswordHasher',

'django.contrib.auth.hashers.MD5PasswordHasher',

'django.contrib.auth.hashers.CryptPasswordHasher',

)

from django.contrib.auth.hashers import make_password, check_password

pwd='lienlien123'

产生加密后密码

make_password()的第二位参数为None时,每次产生的加密结果都不一样,

当加入任意参数时,既可以相同

mpwd=make_password(pwd,None,'pbkdf2_sha256')

校验加密后是否相同

pwd_bool=check_password(pwd,mpwd)

print(pwd_bool)

相关推荐
CoberOJ_25 分钟前
(2026-04-01更新)小白自己写,量化回测系统stock-quant(六)
python·ai·股票·量化·交易·回测·a股港股美股
qq_2837200528 分钟前
Python:time/datetime 模块教程
python·时间·模块·日期
qq_2526144144 分钟前
PyMySQL 对 caching_sha2_password 支持不完善
python
qq_283720051 小时前
Python教程: sys模块入门学习
python·sys
瑶总迷弟1 小时前
Python入门第6章:字典(键值对数据结构)
java·数据结构·python
第一程序员1 小时前
Python游戏开发:从入门到实践
python·github
Yao.Li1 小时前
Dify 本地环境忘记登录密码问题排障文档
人工智能·python
_MyFavorite_1 小时前
JAVA重点基础、进阶知识及易错点总结(14)字节流 & 字符流
java·开发语言·python
Eric.Lee20211 小时前
python实现pdf转图片png
linux·python·pdf
deep_drink1 小时前
1.2、Python 与编程基础:文件处理与常用库
开发语言·python·elasticsearch·llm