
输入一个任意长度可见字符串组成的字符串,并随机生成一个等长度的随机密钥并保存
在文件中,采用按位异或的方式进行二进制加密,并将该加密结果保存在一个文件中,解密
时课导入该密文和密钥进行解密,将解密结果进行输出。

关注【以下回答由 GPT 生成】
可以使用Python的random库生成随机密钥,并使用按位异或进行加密和解密操作。以下是具体的解决方案:
random库和os库(用于文件操作):import random
import os
def generate_key(length):
key = ""
for _ in range(length):
key += chr(random.randint(32, 126))
return key
该函数将生成指定长度的随机密钥,每个字符的ASCII码在可见字符范围内(32-126)。
def encrypt_string(input_string, output_file):
key = generate_key(len(input_string))
encrypted_string = ""
for i in range(len(input_string)):
encrypted_string += chr(ord(input_string[i]) ^ ord(key[i]))
with open(output_file, 'w') as f:
f.write(encrypted_string)
with open('key.txt', 'w') as f:
f.write(key)
return encrypted_string
该函数将输入字符串按位异或加密,并将加密结果保存到指定的文件中,同时将密钥保存到名为key.txt的文件中。
def decrypt_string(ciphertext, key_file):
with open(key_file, 'r') as f:
key = f.read()
decrypted_string = ""
for i in range(len(ciphertext)):
decrypted_string += chr(ord(ciphertext[i]) ^ ord(key[i]))
return decrypted_string
该函数将导入密文和密钥文件,进行按位异或解密操作,并返回解密结果。
# 示例输入字符串
input_string = "Hello, world!"
# 加密字符串并保存密文到文件
ciphertext = encrypt_string(input_string, 'encrypted.txt')
# 解密密文并输出解密结果
decrypted_string = decrypt_string(ciphertext, 'key.txt')
print("加密结果:", ciphertext)
print("解密结果:", decrypted_string)
通过以上代码,您可以实现对任意长度的可见字符串进行加密和解密,并将加密结果和密钥保存到文件中。请注意,为了确保密钥的安全性,您需要妥善保管密钥文件。
【相关推荐】