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())

 运行结果:

 

posted @ 2021-03-15 18:10  Z_sun  阅读(5287)  评论(0编辑  收藏  举报