2010-11-15 111 views
4

我正在研究java ...我想知道如何將字節數組轉換爲BigInteger。 其實我用md5的digest方法返回了我想要轉換成Biginteger的字節數組。如何將字節數組轉換爲java中的BigInteger

+1

字節數組保持什麼? – 2010-11-15 06:48:21

+4

@ org.life.java - bytes :-) – 2010-11-15 06:52:31

+0

@Stephen C :) :),我的意思是特別是哪種方式,它可以是簡單的byte []的數組也可以是字符串內容的字節表示 – 2010-11-15 06:54:53

回答

4

這個例子Get MD5 hash in a few lines of Java有一個相關的例子。

我相信你應該能夠做到

MessageDigest m=MessageDigest.getInstance("MD5"); 
m.update(message.getBytes(), 0, message.length()); 
BigInteger bi = new BigInteger(1,m.digest()); 

,如果你想在風格印刷"d41d8cd98f00b204e9800998ecf8427e"你應該能夠做到

System.out.println(bi.toString(16)); 
3

其實我使用MD5的摘要方法它返回了我想要轉換爲BigInteger的字節數組。

您可以使用new BigInteger(byte[])

但是,應該注意的是,MD5哈希在任何有用的意義上都不是一個真正的整數。它實際上只是一個二進制位模式。

我想你只是這樣做,以便您可以打印或訂購MD5散列。但是完成這兩項任務的內存不多。

+0

最好使用整數,byte []構造函數。這個將會把它解釋爲二進制補碼的二進制表示 – 2012-11-14 13:02:39

相關問題