2010-11-15 113 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

相关问题