我正在加密用户输入,以生成密码字符串。但一行代码在不同版本的框架中会产生不同的结果。以下是一部分代码和用户按键值:
用户按下的键:1。变量ascii
的值为49。经过某些计算后,“e”和“n”的值如下:
e = 103,
n = 143,
Math.Pow(ascii, e) % n
以上代码的结果:
In .NET 3.5 (C#)
Math.Pow(ascii, e) % n
gives
9.0
.In .NET 4 (C#)
Math.Pow(ascii, e) % n
gives
77.0
.
Math.Pow()
在两个版本中都会给出正确(相同)的结果。
是什么原因导致这种情况发生,是否有解决方法?