python - 详细变换的逆

标签 python python-3.x cryptography hex binascii

我正在使用一段代码来转换例如这个包含 256 个整数的列表:

a = [50, 177, 75, 135, 123, 30, 218, 164, 42, 29, 144, 38, 241, 154, 172, 142, 27, 1, 109, 198, 200, 230, 88, 235, 4, 86, 34, 112, 50, 116, 10, 156, 136, 48, 187, 62, 52, 223, 118, 73, 95, 238, 66, 62, 184, 234, 52, 7, 143, 108, 59, 12, 192, 91, 12, 157, 125, 173, 32, 42, 64, 184, 31, 41, 191, 145, 137, 89, 56, 16, 91, 219, 123, 231, 219, 9, 43, 193, 187, 5, 9, 94, 100, 86, 67, 232, 70, 35, 105, 76, 101, 176, 179, 113, 69, 33, 208, 216, 185, 255, 41, 104, 169, 191, 20, 2, 64, 117, 8, 157, 44, 252, 34, 38, 53, 120, 71, 68, 21, 209, 225, 167, 22, 186, 224, 176, 74, 149, 170, 69, 198, 31, 56, 166, 219, 68, 102, 65, 31, 141, 75, 232, 132, 61, 49, 55, 49, 26, 175, 50, 26, 171, 132, 247, 88, 53, 254, 133, 98, 88, 27, 116, 106, 163, 144, 145, 180, 204, 187, 44, 142, 163, 148, 174, 64, 174, 91, 245, 107, 193, 100, 183, 89, 15, 71, 161, 44, 172, 194, 169, 173, 2, 66, 105, 77, 99, 249, 205, 242, 195, 113, 138, 152, 230, 109, 173, 0, 118, 66, 58, 208, 70, 212, 204, 155, 132, 129, 35, 238, 83, 203, 141, 159, 30, 246, 77, 229, 21, 229, 18, 191, 33, 15, 26, 77, 63, 135, 34, 147, 220, 91, 144, 11, 218, 209, 132, 233, 253, 75, 15, 14, 208, 252, 228, 181, 55]

这个512个字符的字符串:

b = '32b14b877b1edaa42a1d9026f19aac8e1b016dc6c8e658eb0456227032740a9c8830bb3e34df76495fee423eb8ea34078f6c3b0cc05b0c9d7dad202a40b81f29bf91895938105bdb7be7db092bc1bb05095e645643e84623694c65b0b3714521d0d8b9ff2968a9bf14024075089d2cfc22263578474415d1e1a716bae0b04a95aa45c61f38a6db4466411f8d4be8843d3137311aaf321aab84f75835fe8562581b746aa39091b4ccbb2c8ea394ae40ae5bf56bc164b7590f47a12cacc2a9ad0242694d63f9cdf2c3718a98e66dad0076423ad046d4cc9b848123ee53cb8d9f1ef64de515e512bf210f1a4d3f872293dc5b900bdad184e9fd4b0f0ed0fce4b537'

执行此转换的代码是:

import binascii
b = binascii.hexlify(bytearray(a)).decode()

我需要走另一条路,从字符串到整数列表。我认为 binascii.unhexlify 肯定会有用,我已经尝试过但仍然无法弄清楚这个转换的逆是什么。有什么想法吗?

最佳答案

您可以使用binascii.unhexlify:

orig = list(binascii.unhexlify(b))

print(orig)

输出:

[50, 177, 75, 135, 123, 30, 218, 164, 42, 29, 144, 38, 241, 154, 172, 142, 27, 1, 109, 198, 200, 230, 88, 235, 4, 86,34, 112, 50, 116, 10, 156, 136, 48, 187, 62, 52, 223, 118,73, 95, 238, 66, 62, 184, 234, 52, 7, 143, 108, 59, 12, 192, 91, 12, 157, 125, 173, 32, 42, 64, 184, 31, 41, 191, 145, 137, 89, 56, 16, 91, 219, 123, 231, 219, 9, 43, 193, 187,5, 9, 94, 100, 86, 67, 232, 70, 35, 105, 76, 101, 176, 179, 113, 69, 33, 208, 216, 185, 255, 41, 104, 169, 191, 20, 2, 64, 117, 8, 157, 44, 252, 34, 38, 53, 120, 71, 68, 21, 209, 225, 167, 22, 186, 224, 176, 74, 149, 170, 69, 198, 31, 56, 166, 219, 68, 102, 65, 31, 141, 75, 232, 132, 61, 49, 55, 49, 26, 175, 50, 26, 171, 132, 247, 88, 53, 254, 133, 98, 88, 27, 116, 106, 163, 144, 145, 180, 204, 187, 44, 142, 163, 148, 174, 64, 174, 91, 245, 107, 193, 100, 183, 89, 15, 71, 161, 44, 172, 194, 169, 173, 2, 66, 105, 77, 99, 249,205, 242, 195, 113, 138, 152, 230, 109, 173, 0, 118, 66, 58, 208, 70, 212, 204, 155, 132, 129, 35, 238, 83, 203, 141,159, 30, 246, 77, 229, 21, 229, 18, 191, 33, 15, 26, 77, 63, 135, 34, 147, 220, 91, 144, 11, 218, 209, 132, 233, 253,75, 15, 14, 208, 252, 228, 181, 55]

关于python - 详细变换的逆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57755934/

相关文章:

c++ - 如何解密回 RSA c++ 的字符串值

c# - 为什么我的 SHA-1 函数在 C# 中为两个文件显示相同的输出?

encryption - 实用的解释方式 "Information Theory"

python - 无法在 Linux 上使用 python3 和 cx_Oracle 作为外部标识的用户进行连接

c++ - 在 C++ 中使用 cURL 和多线程

python 3 解码字符串状态

python - 在 Python 3 中管理 namespace 的正确方法是什么?

python - boot2docker、docker、mac os x 上的 django

python - bigquery python 客户端 : load_table_from_file not working with csv file

python - 有没有办法通过Python中的正则表达式找到子字符串索引?