如何使用binascii通过打包和解包重新编码python字符串? [英] How do you reencode a python string via Packing and Unpacking using binascii?

查看:224
本文介绍了如何使用binascii通过打包和解包重新编码python字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个散列到标准md5散列的文件校正:OpenSSL散列是HEXDECIMAL表示。

  MD5 Hash:57ED2E029BF9CA39383D2A671EF4FB50 

我有一个程序需要一个字节编码base64 md5散列。

  MD5 BASE64字节:8se7isyX + S6Yei1Ah9AhsQ == 

如何使用pythons'binascii'b2a方法将标准
MD5哈希到Base64?



以下是错误的。

 导入binascii 
bin = binascii.a2b_uu('57ED2E029BF9CA39383D2A671EF4FB50')
base = binascii.b2a_base64( bin)

输出+> 'QUlZTlYUmikRYUjRXkQjWQkiiSkmkhZmVjhZkWTAAAAA\\\
'

TL;

我需要把hexstring,将它转换为二进制,然后base64二进制..什么是Python的方式?



参考:




解决方案使用 binascii 进行转换。它需要两次转换,一次是从十六进制转换为二进制转换,另一次是从二进制转换到base64。

 >>> hex_hash ='4bd2f7940a1ec86efe1d1178b4cb23b7'
>>> binascii.b2a_base64(binascii.a2b_hex(hex_hash))
'S9L3lAoeyG7 + HRF4tMsjtw == \''


I have a file hashed to a standard md5 Hash

Correction: OpenSSL Hashes are HEXDECIMAL representations.

MD5 Hash:   57ED2E029BF9CA39383D2A671EF4FB50

I have a program that requires a byte encoding base64 md5 hash.

MD5 BASE64 byte: 8se7isyX+S6Yei1Ah9AhsQ==

How do you use pythons 'binascii' b2a methods to convert the standard MD5 hash to a Base64?

The below is wrong.

import binascii 
bin = binascii.a2b_uu('57ED2E029BF9CA39383D2A671EF4FB50')
base = binascii.b2a_base64(bin) 

Output +> 'QUlZTlYUmikRYUjRXkQjWQkiiSkmkhZmVjhZkWTAAAAA\n'

TL;DR:

I need to take hexstring, convert it to binary, and then base64 the binary.. what's the python way?

Reference:

解决方案

Here's how you can do the conversion with binascii. It requires two conversions, one from hex to binary and another from binary to base64.

>>> hex_hash = '4bd2f7940a1ec86efe1d1178b4cb23b7'
>>> binascii.b2a_base64(binascii.a2b_hex(hex_hash))
'S9L3lAoeyG7+HRF4tMsjtw==\n'

这篇关于如何使用binascii通过打包和解包重新编码python字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆