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())
運行結果: