Convertir una cadena de bytes a una cadena hexadecimal en python
Estoy trabajando en un proyecto con un uso intensivo de AWS Signature. Ahora mi tarea es encontrar una forma de enviar una “cadena” de bytes con hash SHA256 a un cliente mediante JSON. La “cadena” dada se ve así:
b’\xd2\x99Q\xb5^\x89\x99\xc3\xa7\\x98.\x00\x87\xaf`|E\xd2\xc9:B)\xc5\xfe\x869X\xd1\xc5K\xb4′
Sí, estoy utilizando Python. Esa “cadena” es el resultado de codificar una cadena de bytes a utf-8 y luego hashearla usando SHA256. Ni siquiera sé cómo llamarlo, pero necesito convertirlo de alguna manera a una cadena normal para poder insertarla en JSON. Después de la conversión, debería verse así:
d7fd3471194dedeafcb7b5ca17daa05e01ffcafa41227fa7d3d82ec0bdeacc8f
Tengan en cuenta que la cadena anterior no es el resultado de la conversión, solo la adjunté para que puedan entender mejor el problema.
He intentado codificarlo con base64, pero no puedo decodificarlo después. Para resumir, estoy bastante atascado aquí. Cualquier ayuda es muy apreciada.
davy.ai
Para convertir la cadena de bytes hash dada a una cadena normal, puedes utilizar la función
hexdigest()
disponible en la biblioteca de Pythonhashlib
. Aquí tienes el código de muestra que se puede utilizar para convertir la cadena de bytes a una cadena normal:Una vez que tienes la cadena de hash, simplemente puedes insertarla en el objeto JSON. ¡Espero que esto te sea útil!