md5可以将任何一个二进制的数据通过数学算法,转换成一个一定长度(128位)的二进制数据
特点:1、结果是唯一的,不可能重复 2、不可逆
作用: 1、通常用来加密密码 2、通常用来验证一个数据的完整性
例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="{% url 'day01:testMD5' %}">
输入:<input type="text" name="passwd"><br />
<input type="submit" value="提交">
</form>
</body>
</html>
import hashlib
def testMD5(request):
if not request.GET.get('passwd'):
return render(request, 'testMD5.html')
passwd = request.GET.get('passwd')
mymd5 = hashlib.md5() # 创建一个md5对象
mymd5.update(passwd.encode('utf8'))
passwd = mymd5.hexdigest()
return HttpResponse(passwd)
mymd5 = hashlib.md5() 实例化一个md5对象
mymd5.update(password.encode("utf-8")) 将一个二进制数据进行md5处理, 生成一个128位的二进制数据
password = MD5.hexdigest() 将二进制结果转换成32位十六进制的结果