加密算法sha1
s1 = sha1()
s1.update(upwd.encode("utf8"))
upwd3 = s1.hexdigest()
注意update()里要加encode,否则会报错
TypeError at /user/register_handle/ Unicode-objects must be encoded before hashing
案例:
from hashlib import sha1
from django.shortcuts import render,redirect
from .models import UserInfo
def register_handle(request):
if request.method=='POST':
uname = request.POST['user_name']
upwd = request.POST['pwd']
upwd2 = request.POST['cpwd']
uemail = request.POST['email']
if upwd != upwd2:
return redirect('/user/register')
s1 = sha1()
s1.update(upwd)
upwd3 = s1.hexdigest()
user = UserInfo()
user.uname = uname
user.upwd = upwd3
user.uemail = uemail
user.save()
return render(request,'register.html')
这里没有对密码进行utf8的编码,运行时会报错
在update里 写pwd.encode(“utf-8”)
再运行 ,解决问题