我的python程序采用AES密钥作为输入。例如,
xee~xb0x94Lhx9fnr?x18xdfxa4_7Ixf7xd8T?x13xd0xbd4x8eQx9bx89xa4cxf9xf1
这个字符串输入现在必须转换回字节序列,这样密钥才能用于解密。
aes_key = str.encode(user_input) # user_input being the key is string format
当我打印";aes_ key";这是输出
\xee~\xb0\x94Lh\x9fn\r?\x18\xdf\xa4_7I\xf7\xd8T?\x13\xd0\xbd4\x8eQ\x9b\x89\xa4c\xf9\xf1
由于添加了"\"密钥不正确,我不能用它解密。
我试过
aes_key = aes_key.replace(b'\\', b'\')
但这并不能解决问题。请帮忙。
在对您的输入进行了一些猜测之后,我得到了以下内容:
input_string = "\xee~\xb0\x94Lh\x9fn\r?\x18\xdf\xa4_7I\xf7\xd8T?\x13\xd0\xbd4\x8eQ\x9b\x89\xa4c\xf9\xf1"
print(input_string)
# xee~xb0x94Lhx9fnr?x18xdfxa4_7Ixf7xd8T?x13xd0xbd4x8eQx9bx89xa4cxf9xf1
print(repr(input_string))
# '\xee~\xb0\x94Lh\x9fn\r?\x18\xdf\xa4_7I\xf7\xd8T?\x13\xd0\xbd4\x8eQ\x9b\x89\xa4c\xf9\xf1'
output_bytes = bytes(input_string, "utf-8").decode("unicode_escape").encode("latin_1")
print(output_bytes)
# b'xee~xb0x94Lhx9fnr?x18xdfxa4_7Ixf7xd8T?x13xd0xbd4x8eQx9bx89xa4cxf9xf1'