我有一个字符串形式的 IP 地址R
(即"255.255.255.0"
:),我正在对其进行散列,并获取该散列的前 4 个字节。然后我想将该散列结果转换为二进制格式:
def H(R): h = hashlib.sha256(R.encode('utf-8')) return unhexlify(h.hexdigest())[0:4]
我尝试执行以下操作,但我只得到 30 位而不是 32(我删除了字符串的前 2 个字符,因为它是0b
前缀):
bin(struct.unpack('!I', H(R))[0])[2:]
我怎样才能正确地做到这一点?结果H(R)
看起来像 b',\xc3Z\xfb'。我已经尝试过这里的方法,但没有一个适用于我正在转换的格式。在python中将字节转换为位
我所拥有的:来自 32 位 IP 地址字符串的哈希的 4 个字节,即: b',\xc3Z\xfb'
我想要得到的是:作为字符串的 32 二进制表示,即: '10101010101010101010101010101010'
12345678_0001
米琪卡哇伊
相关分类