System.Security.Cryptography.MD5CryptoServiceProvider не использует настройки ASP.NET system.web/machineKey
. Они используются для контроля защиты от взлома и шифрования ViewState, билетов проверки подлинности форм и файлов cookie роли ( Как: настроить MachineKey в ASP.NET 2.0 ).
Я только что скомпилировал простое консольное приложение в .NET 1.1 и 2.0, которое выполняет хэш MD5, и они оба выдают одно и то же значение. Я запустил эти приложения на двух разных компьютерах (один с автоматически сгенерированными машинными ключами, а другой с жестко закодированными ключами), опять же, идентичные результаты.
Похоже, что используемое Кодирование, возможно, отличается, то есть приложение 1.1 использует ASCIIEncoding
, а приложение 2.0 использует Unicode
.
Еще одна вещь, которую нужно проверить, - если используемый вами метод использует соль, о которой вы забыли, это, безусловно, приведет к созданию разных хешей.