如何将2048位的BigInteger分解成固定64位的字数?
How to break the 2048bit BigInteger into words with a fixed number of 64 bits?
我有一个包含 2048 位 BigInteger 数字的密钥。
我想把它分解成固定数量的64位的单词,然后计算所有这些单词的异或;
java 有谁能帮我实现这个吗?
这是我必须实施的方法:
public static BigInteger parityWordChecksum(BigInteger key) {
//result is a 64 bit integer
return result;
}
LongBuffer buffer = ByteBuffer.wrap(myBigInteger.toByteArray()).asLongBuffer();
long xor = 0;
while (buffer.hasRemaining()) {
xor ^= buffer.get();
}
return BigInteger.valueOf(xor);
我有一个包含 2048 位 BigInteger 数字的密钥。 我想把它分解成固定数量的64位的单词,然后计算所有这些单词的异或; java 有谁能帮我实现这个吗? 这是我必须实施的方法:
public static BigInteger parityWordChecksum(BigInteger key) {
//result is a 64 bit integer
return result;
}
LongBuffer buffer = ByteBuffer.wrap(myBigInteger.toByteArray()).asLongBuffer();
long xor = 0;
while (buffer.hasRemaining()) {
xor ^= buffer.get();
}
return BigInteger.valueOf(xor);