在java中使用超出范围的整数

时间:2013-04-14 21:44:51

标签: java rsa

处理一个处理RSA加密和解密的项目,其中一部分正在处理这个数字

int modulus = 270653957405596110781 

这是一个68位的数字,我知道长时间只能达到64位,所以我该怎么解决这个问题呢?

我尝试了整个

    public static void main(String [] args){

    long modulus = 270653957405596110781L;


}
事情,但仍然没有运气,因为它是68位数而不是像我说的那样64位。

2 个答案:

答案 0 :(得分:3)

您必须使用BigInteger

BigInteger modulus = new BigInteger("270653957405596110781");

Javadocs

答案 1 :(得分:2)

使用BigInteger。它被设计为支持任意大整数运算。

顺便说一句,我希望你不要自己重新实现RSA加密。 RSA本身由JDK支持。