我需要計算md5
哈希的隨機8
字節長的數字,所以我要把它打包:如何收拾很大的負面長二進制字符串在Python
import struct
num = 123L
bin = struct.pack('q', num)
工作正常,但是,對於大負值:
num = -14710095416404972671L
bin = struct.pack('q', num)
我得到這個錯誤:
struct.error: long too large to convert to int
蟒蛇2.6
我可以通過哪種方式將其轉換爲用作md5散列的輸入?
你似乎有一個XY問題。你更關心的是獲得'num'的有效二進制表示,還是獲得'num'的md5哈希? – RegularlyScheduledProgramming
@RegularlyScheduled編程服務器端計算C++中long的二進制表示的md5散列,我需要在python中實現相同的散列。 – Slava
我查了一下,果然我在散列中使用'struct.pack' vs'bin'獲得了不同的哈希值,所以我刪除了我的答案。也許看看'struct'模塊的源代碼?祝你好運。 – RegularlyScheduledProgramming