Какой алгоритм шифрования использует поставщик членства .net? - PullRequest
2 голосов
/ 11 ноября 2008

Я просматриваю исходный код поставщика членства .net, и в нем sqlmembershipprovider.cs есть вызовы EncryptPassword и DecryptPassword, но я не вижу метода нигде в источнике.

Какой алгоритм они используют? Разве не выпущен источник для этого?

Ответы [ 4 ]

3 голосов
/ 11 ноября 2008

SqlMembershipProvider происходит от MembershipProvider, от которого он наследует EncryptPassword () и DecryptPassword ().

Несмотря на то, что код с Reflector выглядит, алгоритм выглядит как DES, если длина ключа составляет 8 байтов, а AES (Rijndael) в противном случае.

0 голосов
/ 11 ноября 2008

Уверен, базовый Decrypt / EncryptPassword использует стандартную реализацию AES .NET, возможно, с определенным где-то ключом, вероятно, специфичным для машины

См. AesManaged класс.

0 голосов
/ 11 ноября 2008

Хотя код шифрования является «открытым», шифрование по умолчанию поставщика членства основано на уникальном ключе компьютера.

0 голосов
/ 11 ноября 2008

SqlMembershipProvider использует System.Web.Security.MembershipProvider в качестве базового класса. Методы EncryptPassword и DecryptPassword вызываются в базовом классе.

Запустите .NET Reflector и укажите его на System.Web.Security.MembershipProvider, и вы увидите, как они это делают.

...