使用 xor 解密 python 消息

问题描述 投票:0回答:1

你好,我开始进入 Python 世界并与加密相关,我正在做一个练习,包括制作一个脚本来处理加密消息和获取纯文本消息的密钥。解密的消息必须以 ASCII 显示。 问题是我到了这部分,找不到显示解密纯文本的方法。

message = '9c8d968f8b90a08f868b979091a0c5bb'
key = 'ffffffffffffffffffffffffffffffff'
m_bytes = message.encode()
k_bytes = key.encode()
length = len(message)

result_xor = []

for i in range(length):
    result = m_bytes[i] ^ k_bytes[i]
    result_xor.append(result)

result_xor_bytes = bytes(result_xor)
string_ascii = result_xor_bytes.decode('ascii')
print(result_xor_bytes)
print(string_ascii)

我得到的结果如下

b'_\x05^\x02_P^\x00^\x04_V\x07V^\x00^P^\x04_Q_V_W\x07V\x05S\x04\x04'
_^_P^ ^_VV^ ^P^_Q_V_WVS
python encryption xor
1个回答
1
投票

找了一下午,我决定换个方式。

# Se asigna el mensaje cifrado y la key a sus respectivas variables
message = "9c8d968f8b90a08f868b979091a0c5bb"
key = "ffffffffffffffffffffffffffffffff"

# Convierto el mensaje y la clave de hex a bytes
mensaje_cifrado_bytes = bytes.fromhex(message)
clave_bytes = bytes.fromhex(key)

# Utilizo la operación XOR entre el mensaje cifrado y la clave
mensaje_descifrado_bytes = bytes([a ^ b for (a, b) in zip(mensaje_cifrado_bytes, clave_bytes)])

# Convierto el resultado de la operación XOR a ASCII para obtener el mensaje descifrado
mensaje_descifrado = mensaje_descifrado_bytes.decode('ascii')

# Se imprime mensaje descifrado
print(mensaje_descifrado)

这样它给了我我正在寻找的信息。

© www.soinside.com 2019 - 2024. All rights reserved.