2014-09-25 29 views
-3

作爲密碼學課程的一部分,我遇到了很多大數目(128位或更多)。雖然我的課程在很大程度上是數學領域,但並沒有深入研究這個領域的實現方面,我試圖在空閒時間實現一些簡單的算法。顯然,第一個絆腳石一直在想出不同的方式來表示大數字(128位或模式)。到目前爲止,我已經使用Python的ctype,它給了我無符號整數高達64位。Python中的無符號數字

例如:如何處理大於64位的密鑰/數據塊?例如,類似的東西:

A56BABCD00000000FFFFFFFFABCDEF01 

任何輸入將不勝感激。

+4

你讀過關於Python的任何**嗎?它已經支持長算術。 – m0nhawk 2014-09-25 14:53:48

+0

python表示你的號碼以十進制表示法寫成'219881679602189885463659373782260117249L'。 – tgmath 2014-09-25 14:55:46

+0

@ m0nhawk我在查看Pythons對無符號數的支持,我不認爲長算術支持這一點。因此我使用了ctypes模塊。 – feverDream 2014-09-25 15:22:13

回答

2

Python已經支持任意長整數(implementation)。嘗試在命令行上:

>>> 0xA56BABCD00000000FFFFFFFFABCDEF01 
219881679602189885463659373782260117249L