文章目录
最近在完成商城案例作业时,遇到提交注册密码时是一串数字和字母,觉得不安全,遂研究起来加密。

加密算法很多,索性学习了几个常用的(MD5、sha256、base64)。
一、hashlib介绍
Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。
摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。
在python3的hashlib标准库中可以调用SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法等。
二、使用hashlib库进行md5加密
1、加密未混淆代码
import hashlib
def jm_md5(password):
m = hashlib.md5() # 构建MD5对象
m.update(password.encode(encoding='utf-8')) #设置编码格式 并将字符串添加到MD5对象中
password_md5 = m.hexdigest() # hexdigest()将加密字符串 生成十六进制数据字符串值
return password, password_md5
g = jm_md5('123456')
print(g)
结果 :(‘123456’, ‘e10adc3949ba59abbe56e057f20f883e’)
2、混淆加密代码
我们知道 update可以将值增加,到集合(字典)或者键值对中。
在MD5加密中,它能起到字符串拼接作用,也就是能达到混淆加密的作用。
import hashlib
def hxjm_md5(password,value):
'''
:param password: 加密字符串
:param value: 混淆字符串
:return: 将混淆后的加密结果转成16进制字符串形式返回
'''
m = hashlib.md5(password.encode("utf-8"