从字节数组到大整数

5
如何将byteArray转换为BigInteger?需要注意的是,我的byteArray不是普通的byte[],而是我项目中的一个类。 基本上,我有一个由256个字节组成的数组,我需要将其表示为BigInteger以进行计算。
代码如下:
//这是我获取byteArray信息的方式
  ByteArray modulus = (ByteArray)inParamsList.getParameterType("modulus");

//这是我遇到异常的代码行。问题出在"toString"方法没有实际将其转换为字符串。

  BigInteger modulusInBig = new BigInteger(modulus.toString());

我很乐意提供帮助!我已经在互联网上搜索了很多,但仍需要一些答案。

3
你是否检查了 modulus.toString() 会产生什么结果? - Vlad
4
我们能否看到ByteArray类? - Brandon
@MattBall,这已经由BigInteger的构造函数定义了。 - weston
@MattBall 我的观点是 BigInteger 构造函数定义了它们的输入。所有都使用 big-endian。OP 必须遵守该契约。 - weston
modulus.toString() 会产生 ".....BasicType$ByteArray@fffffda8",它显示该类的路径... 这是无用的。 - user1584314
显示剩余2条评论
1个回答

2

修改你的ByteArray类,提供一个toArrayByte()方法,返回byte[]

BigInteger modulusInBig = new BigInteger(modulus.toArrayByte());

你写道:“修改你的ByteArray类,提供一个toArrayByte()方法,返回byte[]数组”… 这正是我的问题所在… 我不确定如何去做。 - user1584314
然后我们需要看到你的ByteArray类。很多人都要求看到它。 - weston

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接