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)

相关推荐
智启七月41 分钟前
谷歌 Gemini 3.0 正式发布:一键生成 Web OS,编程能力碾压竞品
人工智能·python
2401_8414956441 分钟前
【强化学习】动态规划算法
人工智能·python·算法·动态规划·强化学习·策略迭代·价值迭代
测试19981 小时前
自动化测试报告生成(Allure)
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
DKunYu1 小时前
PyTorch入门
人工智能·pytorch·python·深度学习
ZhengEnCi2 小时前
Python_哈希表完全指南-从字典到高效查找的 Python 编程利器
python
今天没ID2 小时前
Python 集合类型全解析:从网球赛事案例看透字符串、列表、元组、集合与字典(1)
python
小宁爱Python2 小时前
从零搭建 RAG 智能问答系统 4:从多模态架构到 Milvus 向量存储实践
python·milvus
林炳然2 小时前
Python-Basic Day-2 python容器(列表、元组)
python
可触的未来,发芽的智生2 小时前
一万个为什么:汉语词性对NLP的作用
python·神经网络·程序人生·自然语言处理
盼哥PyAI实验室2 小时前
Python函数进阶秘籍:闭包、装饰器与作用域全解析(通俗版)
开发语言·python