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表单实现表单验证
forms表单 #_*_coding:utf-8_*_ from django import forms class regis(forms.Form): username = forms.CharF ...
- django实现密码非加密的注册(数据对象插入)
数据模型 from django.db import models class userinfo(models.Model): username = models.CharField(max_leng ...
- django简单密码加密和效验
通过django自带的类库,来加密解密很方便,下面来简单介绍下: 导入包: from django.contrib.auth.hashers import make_password, check_p ...
- Django之密码加密
通过django自带的类库,来加密解密很方便,下面来简单介绍下: 导入包: from django.contrib.auth.hashers import make_password, check_p ...
- Django -MD5密码加密与登录
直接贴代码 login_reg.py from django.shortcuts import render, redirect from web.forms.login_reg import Reg ...
- django 自定义 密码加密方式 及自定义验证方式
在django1.6中,默认的加密方式是pbkdf_sha256,具体算法不表,一直以来用django的自带用户验证都十分顺手,但如果需要修改默认加密方式为md5,具体方法为: 在settings.p ...
- Django项目:CRM(客户关系管理系统)--45--37PerfectCRM实现King_admin添加用户时密码加密
#views # ————————02PerfectCRM创建ADMIN页面———————— from django.shortcuts import render # ————————04Perfe ...
- Shiro自定义realm实现密码验证及登录、密码加密注册、修改密码的验证
一:先从登录开始,直接看代码 @RequestMapping(value="dologin",method = {RequestMethod.GET, RequestMethod. ...
- 关于SQL 数据表中的密码加密
首先,都知道一个字节(byte)等于八位二进制数.在数据表中将密码字段设置为binary类型,再结合哈希散列运算可以实现密码加密. 下面介绍下binary 和 varbinary: binary 和 ...
随机推荐
- 通过xsd schema结构来验证xml是否合法
import sys import StringIO import lxml from lxml import etree from StringIO import StringIO # Constr ...
- silverlight RadGridView总结三(转载)
在RadGridView中进行分组以及导出 分组 主要是在前台进行分组的定义: 前台代码: <telerik:RadGridView x:Name="RadGridView1" ...
- Mysql中处理1970年前的日期(unixtime为负数的情况)负数时间戳格式化
客户扔过来一个bug,说是一个系统中对42岁以上的人的统计不正确,而41岁以下的人没有问题.眼睛瞟了一下托盘区里的日期,2012年3月26日,嗯,今年42岁的话,那么应该就是出生在1970年左右,马上 ...
- NIO之直接缓冲区与非直接缓冲区
直接缓冲区与非直接缓冲区的概念 一.非直接缓冲区 1)创建方式 通过 static ByteBuffer allocate(int capacity) 创建的缓冲区,在JVM中内存中创建,在每次调用基 ...
- verilog语法注意部分
l generate语句 Verilog-2001添加了generate循环,允许产生module和primitive的多个实例化,同时也可以产生多个variable,net,task,functio ...
- C# 泛型方法
泛型方法是使用类型参数声明的方法,如下所示: static void Swap<T>(ref T lhs, ref T rhs) { T temp; temp = lhs; lhs = r ...
- 206. Reverse Linked List【easy】
206. Reverse Linked List[easy] Reverse a singly linked list. Hint: A linked list can be reversed eit ...
- js弹窗效果实现
1.首先准备好要弹出的内容,一般用ajax向后台请求数据,组装成html: 主页:a.html,含有div: <div class="cms-window cms-window-oth ...
- start-stop-daemon
start-stop-daemon是OpenRC计划的一部分,这个程序最先出现在Debian系的Linux发行版中,这里有个比较古老的手册页面,更详细更直观的办法当然是通过man start-stop ...
- IOS设计模式浅析之单例模式(Singleton)
说在前面 进入正式的设计模式交流之前,扯点闲话.我们在项目开发的过程中,经常会不经意的使用一些常见的设计模式,如单例模式.工厂方法模式.观察者模式等,以前做.NET开发的时候,认真拜读了一下程杰老师的 ...