Я шифрую пользовательский ввод для генерации строки для пароля. Но строка кода дает разные результаты в разных версиях фреймворка. Частичный код со значением клавиши, нажатой пользователем:
Клавиша нажата: 1. Переменная ascii
равна 49. Значение "e" и "n" после некоторого вычисления:
e = 103,
n = 143,
Math.Pow(ascii, e) % n
Результат приведенного выше кода:
-
В .NET 3.5 (С#)
Math.Pow(ascii, e) % n
дает
9.0
. -
В .NET 4 (С#)
Math.Pow(ascii, e) % n
дает
77.0
.
Math.Pow()
дает правильный (тот же) результат в обеих версиях.
В чем причина, и есть ли решение?