在python中将字节字符串转换为十六进制字符串



我正在进行一个大量使用AWS Signature的项目。现在我的任务是找到一种方法来发送一个SHA256散列字节";字符串";通过JSON发送到客户端。给定的";字符串";看起来像这样:

b'xd2x99Qxb5^x89x99xc3xa7\x98.x00x87xaf`|Exd2xc9:B)xc5xfex869Xxd1xc5Kxb4'

是的,我正在使用python。";字符串";是将字节字符串编码为utf-8,然后使用SHA256对其进行散列的乘积。我甚至不知道如何调用它,但我需要以某种方式将它转换为普通字符串,这样我就可以将它转储为JSON。转换后应该是这样的:

d7fd3471194dedeafcb7b5ca17daa05e01ffcafa41227fa7d3d82ec0bdeacc8f

请注意,上面的字符串不是转换的结果,我只是附上它,这样你们就可以更好地理解这个问题。

我试过用base64对它进行编码,但之后无法解码。简单地说,我很困在这里。非常感谢您的帮助。

您要查找的是.hex()方法:

>>> s = b'xd2x99Qxb5^x89x99xc3xa7\x98.x00x87xaf`|Exd2xc9:B)xc5xfex869Xxd1xc5Kxb4'
>>> s.hex()
'd29951b55e8999c3a75c982e0087af607c45d2c93a4229c5fe863958d1c54bb4'

最新更新