gpt4 book ai didi

c# - BitConverter.ToString(hash).Replace ("-", string.Empty) 在 python 中等效?

转载 作者:太空宇宙 更新时间:2023-11-03 14:47:10 24 4
gpt4 key购买 nike

如何在 python 中编写以下行?

BitConverter.ToString(hash).Replace("-", string.Empty)

这就是我正在尝试的:

import random
import uuid
import base64
from Crypto.Cipher import AES
import hashlib
from Crypto import Random
import binascii

key = hashlib.sha256(b'SOmeKEyy').digest()
key1 = base64.b64encode(key)
iv_value = b'RandomValuie'
iv = base64.b64decode(iv_value)

cipher = AES.new(key, AES.MODE_CFB, iv)

message = Mac_AddressBytes + ip_address_Bytes + DeviceIdBytes
msg = iv + cipher.encrypt(message)

s =encrypt(message, key)
print(s)

sa = bytearray(s)
DeviceIdentity1 = binascii.b2a_hex(s)
DeviceIdentityDecoded = "0x" + DeviceIdentity1.decode('utf-8')
print (str(DeviceIdentityDecoded))

Mac_AddressBytes + ip_address_Bytes + DeviceIdBytes 是一个有效的字符串。

我在这里得到的输出是十六进制的,这是我想要的,但是如果我在 C# 中运行相同的字符串,我会得到一个不同的字符串,我在 python 中缺少的部分是 BitConverter.ToString(hash)。 Replace("-", string.Empty).

我试过以下:

DeviceIdentity2 = "0x"+ DeviceIdentity1.decode('utf-8').replace("-", "")

但它给了我相同的值(value):

DeviceIdentityDecoded = "0x"+ DeviceIdentity1.decode('utf-8')

当我解密字符串时,我得到以下信息:

Îí5ó/½û.qõX9D&Ç:eXM»Bñj2µ\ëÁ§ÓËÔ¤ý  ¼t®@Z9)Àåñr¹ Ör¾hÅåéÙ|¶nÙZÆÃï,¡WÀj©r{ÆR¥f,|^W¯C
Ù1¾+MöB;S­ô«¹næk0ú·7e,atMìÆ¿Kfí

在 python 中是否有与上面的 c# 代码等效的代码?

最佳答案

对于任何感兴趣的人,我发现我缺少 PKCS7Encoder()

这是有效的更新答案

key = base64.b64decode("SOmeKEyy")
iv_value = 'RandomValue'
iv = base64.b64decode(iv_value)
encoder = PKCS7Encoder()
padded_text = encoder.encode(secret_text)
padded_text1 = padded_text.encode()
print(padded_text1)
e = AES.new(key, AES.MODE_CBC, iv)
cipher_text = e.encrypt(padded_text1)
Finally = binascii.b2a_hex(cipher_text)
DeviceIdentity = "0x" + Finally.decode('utf-8').replace("-", "")
print(DeviceIdentity)

关于c# - BitConverter.ToString(hash).Replace ("-", string.Empty) 在 python 中等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53630649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com