异或(XOR)加密是一种简单的加密算法,它使用异或运算对明文和密钥进行处理以生成密文,同时也可以使用相同的密钥对密文进行解密。虽然异或加密不是用于安全目的的强大算法,但它可以用于简单的数据混淆。
def xor_encrypt_decrypt(text, key):
encrypted_text = ''.join(chr(ord(char) ^ ord(key_char)) for char, key_char in zip(text, key))
return encrypted_text
def main():
plaintext = input("请输入要加密的文本:")
key = input("请输入密钥:")
# 加密
encrypted_text = xor_encrypt_decrypt(plaintext, key)
print("\n加密后的文本:", encrypted_text)
# 解密
decrypted_text = xor_encrypt_decrypt(encrypted_text, key)
print("解密后的文本:", decrypted_text)
if __name__ == "__main__":
main()
-
xor_encrypt_decrypt
函数接受明文和密钥,然后使用异或运算对每个字符进行处理。在这里,ord
函数返回字符的ASCII码,chr
函数将ASCII码转换回字符。使用异或运算可以在加密和解密之间实现简单的循环,因为(A XOR B) XOR B
等于A
。 -
main
函数获取用户输入的明文和密钥,然后调用xor_encrypt_decrypt
函数进行加密和解密。最后,打印加密和解密后的文本。