Django.contrib.auth.hashers模块中的密码加密示例代码
发布时间:2023-12-25 19:54:17
Django.contrib.auth.hashers模块是Django框架中用于密码加密和验证的模块。该模块提供了一系列的加密算法,使得密码存储更加安全。
以下是Django.contrib.auth.hashers模块中的常用密码加密示例代码:
1. make_password()函数: 该函数用于生成加密后的密码。它接收两个参数:password和salt。password是要加密的原始密码,salt是一个随机字符串,用于增加密码的复杂度。
from django.contrib.auth.hashers import make_password
password = 'mypassword'
encrypted_password = make_password(password)
print(encrypted_password)
输出:
'pbkdf2_sha256$216000$j5HtdU6T4nVC$dIyWm6P3xpkQ3VVRxbTepYYzI3czMzAybc8Wpn3QTs0='
2. check_password()函数: 该函数用于验证密码是否正确。它接收两个参数:password和encrypted_password。password是待验证的原始密码,encrypted_password是之前加密后的密码。
from django.contrib.auth.hashers import check_password
password = 'mypassword'
encrypted_password = 'pbkdf2_sha256$216000$j5HtdU6T4nVC$dIyWm6P3xpkQ3VVRxbTepYYzI3czMzAybc8Wpn3QTs0='
is_valid = check_password(password, encrypted_password)
print(is_valid)
输出:
True
3. make_password()函数的salt参数: salt参数可以自定义或省略。如果省略salt参数,Django会自动生成一个随机的salt值并使用默认的加密算法。
from django.contrib.auth.hashers import make_password
password = 'mypassword'
encrypted_password = make_password(password, 'mysalt')
print(encrypted_password)
输出:
'pbkdf2_sha256$216000$mysalt$y1Tnk55Gebw2gu+bIvE00ThGCMV/pHixU6Xy8r92lmc='
这些示例代码演示了如何使用Django.contrib.auth.hashers模块中的make_password()函数和check_password()函数来进行密码加密和验证。
你可以根据自己的需求,选择合适的加密算法和自定义salt值来增加密码的安全性。
