如何在java中将字节数组转换为BigInteger

sag*_*ggy 5 java

我正在研究java ...我想知道如何将字节数组转换为BigInteger.实际上我使用了md5的摘要方法,它返回了我想要转换为Biginteger的字节数组.

aio*_*obe 5

此示例在几行Java中获取MD5哈希有一个相关示例。

我相信你应该能够做

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

如果您希望它以样式打印,"d41d8cd98f00b204e9800998ecf8427e"您应该可以

System.out.println(bi.toString(16));
Run Code Online (Sandbox Code Playgroud)


Ste*_*n C 5

实际上我使用了 md5 的摘要方法,它返回了我想要转换为BigInteger.

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

然而,应该注意的是,MD5 哈希值在任何有用意义上并不是真正的整数。它实际上只是一个二进制位模式。

我猜您这样做只是为了打印或订购 MD5 哈希值。但是有更少的内存消耗方法来完成这两项任务。