通过django自带的类库,来加密解密很方便,下面来简单介绍下;
导入包:
from django.contrib.auth.hashers import make_password,check_password
从名字就可以看出来他们的作用了。
一个是生成密码,一个是核对密码。
例如:
make_password("123456")
得到结果:
u'pbkdf2_sha25615000MAjic3nDGFoi$qbclz+peplspCbRF6uoPZZ42aJIIkMpGt6lQ+Iq8nfQ='
另外也可以通过参数来生成密码:
>>> make_password("123456",None,pbkdf2_sha256')
校验:
校验就是通过check_password(原始值,生成的密文)来校验密码的。
>>> check_password(") True
Django中的加密算法
Django中的加密的算法有很多种
PASSWORD_HASHERS = [
django.contrib.auth.hashers.PBKDF2PasswordHasher',django.contrib.auth.hashers.PBKDF2SHA1PasswordHasherdjango.contrib.auth.hashers.Argon2PasswordHasherdjango.contrib.auth.hashers.BCryptSHA256PasswordHasherdjango.contrib.auth.hashers.BCryptPasswordHasher
PASSWORD_HASHERS =Password Hashing Competition的中是夺冠的。
在ananlysis中应用的是该算法。在analysis/settings.py文件中增加上述节点。因为Argon2加密算法是需要依赖第三方库 argon2-cffi library 的,所在应用该算法的时候首先需要安装 argon2-cffi library,执行命令:pip install django[argon2]。
下面开始把加密算法应用到项目中。
原文地址:https://www.cnblogs.com/tracydzf
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。