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)

相关推荐
树下水月15 分钟前
python 连接hive2 数据库
开发语言·数据库·python
小白宗轩17 分钟前
vsCode的java配置
java·vscode·python
xuehaisj1 小时前
如何使用yolo11-C3k2-MambaOut-UniRepLK模型实现历史文化名城Filarmoniya建筑检测识别
python
FreeCode1 小时前
使用LangSmith评估智能体
python·langchain·agent
m0_595199852 小时前
Django Rest Framework 和 JWT 身份验证
后端·python·django
m***56722 小时前
【玩转全栈】----Django制作部门管理页面
后端·python·django
2501_941111242 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
FreeCode2 小时前
使用LangSmith追踪智能体运行
python·langchain·agent
2501_941112143 小时前
Python Web爬虫入门:使用Requests和BeautifulSoup
jvm·数据库·python