2008-11-11 1 views
2

.net 멤버 자격 공급자에 대한 소스 코드를보고 있는데 sqlmembershipprovider.cs에는 EncryptPassword 및 DecryptPassword에 대한 호출이 있지만 소스의 아무 곳에서나 메서드가 표시되지 않습니다..net 멤버 자격 공급자가 사용하는 암호화 알고리즘은 무엇입니까?

그들은 어떤 알고리즘을 사용하고 있습니까? 그 소스도 공개되지 않았습니까?

+0

EP 및 DP의 MS 구현에 의존하여 코딩하지 마십시오. 다음 서비스 팩에서 변경 될 수 있습니다. – Will

답변

3

SqlMembershipProvider는 EncryptPassword() 및 DecryptPassword()를 상속 한 MembershipProvider에서 파생됩니다.

Reflector를 사용하여 코드를 살펴보면, 키가 8 바이트이면 알고리즘이 DES, Raisndael이 아닌 것으로 보입니다.

0

SqlMembershipProvider는 System.Web.Security.MembershipProvider를 기본 클래스로 사용합니다. EncryptPassword 및 DecryptPassword 메서드는 기본 클래스에서 호출됩니다.

.NET Reflector를 시작하고 System.Web.Security.MembershipProvider에서이를 가리키면 어떻게되는지 알 수 있습니다.

0

암호화 코드는 "공개"이지만 멤버 자격 공급자의 기본 암호화는 고유 한 컴퓨터 키를 기반으로합니다. 기본 암호 해독/EncryptPassword 아마도 어딘가에서 정의 된 키

AesManaged 클래스를 참조하십시오 특정 아마도 기계와, AES의 표준 .NET 구현을 사용

0

예쁜 확인합니다.

관련 문제