如何将2048bit BigInteger分解为固定数量为64位的字?

时间:2015-09-18 15:18:12

标签: java biginteger xor

我有一个包含2048位BigInteger编号的密钥。 我想把它分成固定数量为64位的字,然后计算所有这些字的异或; 有没有人可以帮我实现这个java? 这是我必须实施的方法:

public static BigInteger parityWordChecksum(BigInteger key) {
//result is a 64 bit integer
    return result;
}

1 个答案:

答案 0 :(得分:1)

LongBuffer buffer = ByteBuffer.wrap(myBigInteger.toByteArray()).asLongBuffer();
long xor = 0;
while (buffer.hasRemaining()) {
  xor ^= buffer.get();
}
return BigInteger.valueOf(xor);