Python----md5加密和base64加密解密
1.说明
有些请求是有安全标准的,比如注册的时候,要给服务器发送用户名和密码。
数据库中存的密码一般都是加密。涉及到一些重要的信息,都会进行加密。
主要加密方式有:
- md5 加密
- base64 编码
2.md5加密
官方文档:https://docs.python.org/zh-cn/3/library/hashlib.html
import hashlib import json # 1.md5 字符串加密 # 说明:只能对字符串类型的数据进行md5加密 pwd = "123456" encode_pwd = pwd.encode() # 把字符串转为字节类型 print('转换后的字符串类型:',type(encode_pwd),'\n','转换后的字符串内容:',encode_pwd) # 使用md5进行加密 md5_pwd = hashlib.md5(encode_pwd) print('加密后:',md5_pwd) print('字符串加密后的值:',md5_pwd.hexdigest()) # 2.对字典类型进行md5加密 userinfo = {'username':'xiaoming'} str_userinfo = json.dumps(userinfo) # 把字典类型转换为字符串类型 print('转换后的字符串类型:',type(str_userinfo),'\n','转换后的字符串内容:',str_userinfo) # 对字符串进行编码 encode_userinfo = str_userinfo.encode() # 把字符串转为字节类型 # 使用md5 进行加密 md5_userinfo = hashlib.md5(encode_pwd) print('加密后的列表的值:',md5_pwd.hexdigest()) # 3.文件的md5加密 # br 表示以二进制的模式打开 with open('./data.txt',mode='br') as file: bytes = file.read() print('读取出来的文件类型:',type(bytes)) # 对文件内容进行加密 result = hashlib.md5(bytes) print('加密后的文件内容:',result.hexdigest())
运行结果:
3.base64加密和解密
官方文档:https://docs.python.org/zh-cn/3/library/base64.html
# base64 编码和解码 import base64 # 1.对字符串进行编码和解码 name = '小明' name_bytes = name.encode() # 把字符串转为字节类型 name_base64 = base64.b64encode(name_bytes) # base64 编码 print('base64加密后的内容:',name_base64) # 对base64数据进行解码 name2 = base64.b64decode(name_base64) print('字节类型转换为字符串类型:',name2.decode())
运行结果: