django实现密码加密的注册(数据对象插入)

Posted phyger

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django实现密码加密的注册(数据对象插入)相关的知识,希望对你有一定的参考价值。

在 django实现密码加密的注册(数据对象插入)的基础上,我们对视图和注册页面进行了简单修改

视图

from django.shortcuts import render,redirect,render_to_response
from django.http import HttpResponse
from .models import *
from hashlib import sha1
# Create your views here.
def index(request):
    return render(request,\'index.html\')
def register(request):
    return render(request,\'register.html\')
def adduser(requset):
    uname = requset.POST[\'user\']
    upwd = requset.POST[\'pwd\']
    ucpwd = requset.POST[\'cpwd\']
    uemail = requset.POST[\'email\']
    #密码加密
    #构造对象
    s1=sha1()
    s1.update(upwd.encode("utf-8"))
    upwd2 = s1.hexdigest()
    if upwd != ucpwd:
        return redirect(\'/register/\')
    try:
        usr = userinfo()
        usr.username=uname
        usr.password=upwd2
        usr.email=uemail
        usr.save()
        #userinfo.objects.get_or_create(username=uname,password=upwd)
        msg=\'user create success!\'
        all = userinfo.objects.all()
        return render(requset, \'info.html\', {\'msg\': msg, \'all\': all})
    except Exception as e:
        #return render(requset,\'info.html\',{\'msg\':e,\'all\':all})
        return HttpResponse({\'<html>数据重复了<a href="/"><h2>返回</h2></a></html>\'},e)

注册页register.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Register</title>
</head>
<body>
<form action="/adduser/" method="POST">
    {% csrf_token %}
    账号:    <input type="text" name="user"><br>
    密码:    <input type="password" name="pwd"><br>
    确认密码:<input type="password" name="cpwd"><br>
    邮箱:    <input type="email" name="email"><br>
    <input type="submit" value="提交">
</form>
</body>
</html>

注册页截图

后台截图

加密实现成功!

以上是关于django实现密码加密的注册(数据对象插入)的主要内容,如果未能解决你的问题,请参考以下文章

django实现密码加密的注册(数据对象插入)-结合forms表单实现表单验证

Django框架——Auth模块

登录到数据库时,Django rest框架不加密密码

Django项目:CRM(客户关系管理系统)--45--37PerfectCRM实现King_admin添加用户时密码加密

如何在将密码保存到用户模型 Django 之前对其进行加密?

使用 RSACryptoServiceProvider 类将加密密码插入数据库?