怎么在Django中使用自带加密模块-创新互联
怎么在Django中使用自带加密模块?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比伊川网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式伊川网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖伊川地区。费用合理售后完善,十余年实体公司更值得信赖。Django 内置的User类提供了用户密码的存储、验证、修改等功能,可以很方便你的给用户提供密码服务。
默认的Ddjango使用pbkdf2_sha256方式来存储和管理用的密码,当然是可以自定义的。
Django 通过PASSWORD_HASHERS 设置选择要使用的算法。
下面有一个列表,列出了Django 支持的哈希算法类。列表的第一个元素 (即settings.PASSWORD_HASHERS[0]) 会用于储存密码, 所有其它元素都是用于验证的哈希值,它们可以用于检查现有的密码。意思是如果你打算使用不同的算法,你需要修改PASSWORD_HASHERS,来将你最喜欢的算法在列表中放在首位。
一个settings中的Password_hashers看起来是这样的:
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', )
具体在Django中的用户密码生成、验证的过程是怎么样的,可以通过django.contrib.auth.hashers模块中的几个函数大体了解一下。通过对两个函数的了解,完全可以脱离内置的User, 实现自定义的用户表中使用django内置的密码机制。
首先导入
from django.contrib.auth.hashers import make_password, check_password
通过函数名即可发现,主要有两个函数,分别是创建密码和验证
用法
ps = "123456"
dj_ps = make_password(ps, None, 'pbkdf2_sha256') #创建django密码, 第二个参数为None是每次产生的密码都不用,第三个参数为算法, 后面两个参数可以忽略
ps_bool = check_password(ps, dj_ps) # check_password 返回值为一个Bool类型,验证密码的正确与否
关于怎么在Django中使用自带加密模块问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联成都网站设计公司行业资讯频道了解更多相关知识。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网页标题:怎么在Django中使用自带加密模块-创新互联
文章起源:http://cdiso.cn/article/psgeh.html