2

我正在开发一个大量使用 AWS 签名的项目。现在我的任务是找到一种通过 JSON 向客户端发送 SHA256 散列字节“字符串”的方法。给定的“字符串”如下所示:

b'\xd2\x99Q\xb5^\x89\x99\xc3\xa7\\\x98.\x00\x87\xaf`|E\xd2\xc9:B)\xc5\xfe\x869X\xd1\xc5K\xb4'

是的,我正在使用 python。该“字符串”是将字节字符串编码为 utf-8 的产物,然后使用 SHA256 对其进行哈希处理。我什至不知道如何调用它,但我需要以某种方式将其转换为普通字符串,以便将其转储为 JSON。转换后应该是这样的:

d7fd3471194dedeafcb7b5ca17daa05e01ffcafa41227fa7d3d82ec0bdeacc8f

请注意,上面的字符串不是转换的结果,我只是附上它,以便大家更好地理解问题。

我曾尝试使用 base64 对其进行编码,但之后无法对其进行解码。简单地说,我很困在这里。很感谢任何形式的帮助。

4

1 回答 1

2

您正在寻找的是.hex()方法:

>>> s = b'\xd2\x99Q\xb5^\x89\x99\xc3\xa7\\\x98.\x00\x87\xaf`|E\xd2\xc9:B)\xc5\xfe\x869X\xd1\xc5K\xb4'
>>> s.hex()
'd29951b55e8999c3a75c982e0087af607c45d2c93a4229c5fe863958d1c54bb4'
于 2021-12-20T01:05:11.447 回答