我尝试了几种不同的方法,从
def ToByteArray(x):
x = int(x)
return x.to_bytes((x.bit_length() + 7) // 8, byteorder='big')
或将 x 乘以 256 并bytearray
在循环中构建一个新的,但与普通 python int 或 gmpy2 c++ 的转换相比,它感觉很慢。
mpz_export
c++中没有类似的东西吗?最快的方法是什么?
编辑:我需要将其转换为的原因bytes
是hashlib
不能 hash mpz
。如果有另一种快速的方法来获得强大的加密(sha256)哈希mpz
,而不必将其转换为bytes
第一个,那也可能会有所帮助!