繁体   English   中英

如何将BigInteger转换为ascii字符串

[英]how to convert a BigInteger into a string of ascii

在寻求有关如何将较大的整数值转换为ascii字符串字符串的方法方面寻求帮助;

在完成RSA加密/解密的一些工作后,我将140472961968666030223解密为消息,现在我需要将其转换为ascii字符的字符串。 我已经找到了将字符串形式的ascii字符转换为大整数的方法,但是我一生都无法弄清楚如何反转该方法。

注意:对于具有8个字符的块,也可以通过以下方式计算得出的整数:

R = c 7 * 256 7 + c 6 * 256 6 + c 5 * 256 5 + c 4 * 256 4 + c 3 * 256 3 + c 2 * 256 2 + c 1 * 256 + c 0 * 1

这样我就可以知道您是否知道该字符或容易撤消的内容,但是在这种情况下,我所拥有的只是BigInteger,我应该如何知道要取出的内容(如什么块)以及它们的去向? )

如果有人有更好的方法,请射击,因为这不是希望!

谢谢!

如果R是BigInteger,则可以按以下方式恢复c数组:

byte [] c = new byte[8];
for (int i=0; i<c.length; i++) {
    c[i] = R.byteValue();
    R = R.shiftRight(8);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM