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)

相关推荐
Jia ming4 分钟前
《智能法官软件项目》—罪名初判模块
python·教学·案例·智能法官
Jia ming19 分钟前
《智能法官软件项目》—法律文书生成模块
python·教学·案例·智能法官软件
曦月逸霜28 分钟前
Python数据分析——个人笔记(持续更新中~)
python
海棠AI实验室29 分钟前
第六章 从“能用”到“能交付”的关键一刀:偏好对齐(Preference Alignment)数据工程
python·私有模型训练
百锦再44 分钟前
Java多线程编程全面解析:从原理到实战
java·开发语言·python·spring·kafka·tomcat·maven
Jia ming1 小时前
《智能法官软件项目》—法律计算器模块
python·教学·案例·智能法官
爱华晨宇2 小时前
Python列表入门:常用操作与避坑指南
开发语言·windows·python
一切顺势而行2 小时前
python 面向对象
开发语言·python
绍兴贝贝2 小时前
代码随想录算法训练营第四十六天|LC647.回文子串|LC516.最长回文子序列|动态规划总结
数据结构·人工智能·python·算法·动态规划·力扣
___波子 Pro Max.3 小时前
Python参数解析默认True变False
python