#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)