在原始密码基础之上,生成一个随机的字符串(盐值salt),拼接后的字符串再次MD5加密
import hashlib ,random
md5 = hashlib.md5()
n = random.randint(100000, 999999)
s = request.POST['password'] + str(n)#从表单上获取密码并添加干扰值
md5.update(s.encode('utf-8'))#将要产生md5的字串放进去
ob.password_hash = md5.hexdigest()#获取md5值
ob.password_salt = n
网页html部分密码设置
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">密码:</label>
<div class="col-sm-4">
<input type="password" name="password" class="form-control">
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">重复密码:</label>
<div class="col-sm-4">
<input type="password" name="repassword" class="form-control">
</div>
实现效果:
数据库中存储的盐和MD5密码: