import os
import random
def encode(str1, key):
# 生成0--255的随机整数和字符异或
random.seed(key)
str2 = ''
for i in str1:
str2 += str(ord(i)^random.randint(0, 255)) + ','
str2 = str2.strip(',')
return str2
def decode(str2, key):
# 解密过程是加密过程的相反
random.seed(key)
str1 = ''
for i in str2.split(','):
i = int(i)
str1 += chr(i^random.randint(0, 255))
return str1
def main():
num = int(input('加密【1】 or 解密【2】'))
if num == 1:
str1 = input('请输入加密数据:')
key = input('请输入密钥:')
print(encode(str1, key))
# 让操作系统暂停
os.system('pause')
elif num == 2:
str2 = input('请输入解密数据:')
key = input('请输入密钥:')
print(decode(str2, key))
else:
print('输入有误!')
if __name__ == '__main__':
main()
oxr encryption(异或加密)
最新推荐文章于 2023-03-15 15:07:42 发布