python加密演算法之異或 加密解密
阿新 • • 發佈:2021-02-14
此為學習python異或加密的記錄總結
1、需要了解python中ord()與chr()的使用,ord()中引數為字串,chr()中引數為數字
2、需要了解^異或使用
3、不多介紹,直接上程式碼:
可以根據輸入的明文、祕鑰加密,並且可以據輸入的密文、祕鑰解密。
# python 異或加密演算法, 使用^來計算明文與密文的解譯 import random input_str = input('請輸入1、進行加密,2、進行解密:') # 加密 def encode(str_1, keys): # 祕鑰的種子, random.seed() 預設引數為系統時間 random.seed(keys) str_2 = '' for item in str_1: str_2 += str(ord(item) ^ random.randint(0, 255)) + ',' # 去除收尾,逗號 str_2 = str_2.strip(',') print(str_2) # 解密 def decode(str_3, keys): # 祕鑰的種子, random.seed() 預設引數為系統時間 random.seed(keys) str_3 = str_3.split(',') str_4 = '' for item in str_3: item = int(item) str_4 += chr(item ^ random.randint(0, 255)) print(str_4) if input_str == '1': print('您選擇加密!') str_1 = input('請輸入準備加密的明文:') keys = input('請輸入祕鑰:') encode(str_1, keys) elif input_str == '2': print('您選擇解密:') str_3 = input('請輸入準備解密的密文:') keys = input('請輸入祕鑰:') decode(str_3, keys) else: print('請按照規則進行輸入!')