python加密算法之异或加密解密此为学习python异或加密的记录总结
1、需要了解python中ord()与chr()的使⽤,ord()中参数为字符串,chr()中参数为数字
2、需要了解^异或使⽤
3、不多介绍,直接上代码:
random python
可以根据输⼊的明⽂、秘钥加密,并且可以据输⼊的密⽂、秘钥解密。
# 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('请按照规则进⾏输⼊!')