1

我正在尝试在闪存中实现 RSA 加密程序。我研究了使用 Big Numbers 并在 Crypto 包中找到了 BigInteger var 类型。我开始玩 BigIntegers,但我的输出从来都不是正确的答案。例如,当答案应该是 9409 时,下面的代码将输出 5911。任何有关此错误的输入都会很棒。

var temp:BigInteger = new BigInteger(String(97));
temp = temp.pow(2);
trace(temp.toString());

Output = 5911
4

1 回答 1

2

我不确定您指的是哪个加密包,虽然它是as3crypto但我不记得它的实现具有pow具有该签名的方法。但无论哪种方式,您始终必须记住您正在处理的基础以及库的设计目的。

(97 16 ) 2 = 5911 16

您正在处理十六进制而不是十进制数字。

想想那件 Geek-is-chic 的 T 恤,上面写着“有 10 种人。理解二进制的人和不理解二进制的人”。在这种情况下,“10”被假定为 10 2。等于 2 10。不合格的基地几乎总是毁了每个人的一天。

于 2012-05-06T11:49:59.727 回答