Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python中字节的奇怪表示形式_Python_Byte_Sha - Fatal编程技术网

Python中字节的奇怪表示形式

Python中字节的奇怪表示形式,python,byte,sha,Python,Byte,Sha,我有一个简单的程序,可以散列字符串 from Crypto.Hash import SHA512 PAYLOAD = "Hello world" def sha(message): h = SHA512.new() h.update(message.encode('ascii')) return h.digest() if __name__ == '__main__': print(sha(PAYLOAD)) print(type(sha(PAYL

我有一个简单的程序,可以散列字符串

from Crypto.Hash import SHA512

PAYLOAD = "Hello world"

def sha(message):
    h = SHA512.new()
    h.update(message.encode('ascii'))
    return h.digest()


if __name__ == '__main__':
    print(sha(PAYLOAD))
    print(type(sha(PAYLOAD)))
这是输出

b'\xb7\xf7\x83\xba\xed\x82\x97\xf0\xdb\x91tb\x18O\xf4\xf0\x8ei\xc2\xd5\xe5\xf7\x9a\x94&\x00\xf9r_X\xce\x1f)\xc1\x819\xbf\x80\xb0l\x0f\xff+\xdd4s\x84R\xec\xf4\x0cH\x8c"\xa7\xe3\xd8\x0c\xdfo\x9c\x1c\rG'
我无法理解这是一个字节数组吗?

摘要返回一个字节对象,而字节对象正是您得到的:

类似于字节,但不完全相同它基本上是字节的可变版本

如果需要整数列表,只需调用list即可


如果您需要SHA摘要的十六进制表示,那么就有一个十六进制摘要。

take\xb7:它表示十六进制中的1字节值0xB7。您可以使用hexdigest来获取字符串。显示非x符号是因为它们在ASCII可显示范围内;例如,在字节“10110111”中,前四位转换为0xB十进制11,后四位转换为0x7。您的代码有两个打印调用,为什么只有一行输出?
>>> list(b'\xb7\xf7\x83\xba\xed\x82\x97\xf0\xdb\x91tb\x18O\xf4\xf0\x8ei\xc2\xd5\xe5\xf7\x9a\x94&\x00\xf9r_X\xce\x1f)\xc1\x819\xbf\x80\xb0l\x0f\xff+\xdd4s\x84R\xec\xf4\x0cH\x8c"\xa7\xe3\xd8\x0c\xdfo\x9c\x1c\rG')
[183, 247, 131, 186, 237, 130, 151, 240, 219, 145, 116, 98, 24, 79, 244, 240, 142, 105, 194, 213, 229, 247, 154, 148, 38, 0, 249, 114, 95, 88, 206, 31, 41, 193, 129, 57, 191, 128, 176, 108, 15, 255, 43, 221, 52, 115, 132, 82, 236, 244, 12, 72, 140, 34, 167, 227, 216, 12, 223, 111, 156, 28, 13, 71]