我正在尝试在flash中实现RSA加密程序。我研究了使用Big Numbers并在Crypto包中找到了BigInteger var类型。我开始玩BigIntegers,但我的输出永远不是正确的答案。例如,当答案应为9409时,下面的代码将输出59119.有关此错误的任何输入都会很棒。
var temp:BigInteger = new BigInteger(String(97));
temp = temp.pow(2);
trace(temp.toString());
Output = 5911
答案 0 :(得分:2)
我不确定你指的是哪个加密包,我虽然它是as3crypto但是我不记得它的实现有pow
方法有这个签名。但不管怎样,你总是要记住你正在处理的基础以及库的设计目的。
(97 16 ) 2 = 5911 16
您正在处理十六进制数字而非十进制数字。
想想那个极客时髦的T恤,上面写着“有10种人。那些了解二元的人和那些不理解的人”。在那种情况下,假设“10”为10 2 。等于2 10 。不合格的基地几乎总是毁掉每个人的日子。