다음을 통해 공유


MembershipPasswordFormat 열거형

정의

멤버 자격 사용자에 대한 암호를 저장하는 암호화 형식을 설명합니다.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
상속
MembershipPasswordFormat

필드

Clear 0

안전하지 않으므로 사용하지 마세요. 암호가 암호화되지 않은 경우

Encrypted 2

안전하지 않으므로 사용하지 마세요. 암호는 machineKey 요소 구성에 의해 결정된 암호화 설정을 사용하여 암호화됩니다.

Hashed 1

암호가 단방향 SHA1 해시 알고리즘을 사용하여 암호화된 경우 hashAlgorithmType 특성을 사용하여 SHA1 알고리즘과 다른 해시 알고리즘을 지정할 수 있습니다.

SHA1 관련 충돌 문제로 인해 SHA256을 사용하는 것이 좋습니다.

예제

다음 예제에서는 ASP.NET 애플리케이션에 대한 Web.config 파일의 섹션에 있는 system.webmachineKey 요소(ASP.NET 설정 스키마) 요소를 보여 줍니다. 애플리케이션의 지정 SqlMembershipProvider 인스턴스 및 해당 암호 서식을 설정 Hashed합니다.

이 예제에서는 SHA1을 사용합니다. SHA1 관련 충돌 문제로 인해 SHA256을 사용하는 것이 좋습니다.

<membership defaultProvider="SqlProvider"   
  userIsOnlineTimeWindow="20" hashAlgorithmType="SHA1">  
  <providers>  
    <add name="SqlProvider"  
      type="System.Web.Security.SqlMembershipProvider"  
      connectionStringName="SqlServices"  
      enablePasswordRetrieval="false"  
      enablePasswordReset="true"  
      requiresQuestionAndAnswer="true"  
      passwordFormat="Hashed"  
      applicationName="MyApplication" />  
  </providers>  
</membership>  

설명

클래스는 SqlMembershipProvider 다른 암호 스토리지 형식을 지원하지만 , 및 만 사용해야 HashedClear 하며 Encrypted 안전하지 않습니다. Clear 암호 보안 되지 않으며 사용할 수 없습니다. 일반 텍스트로 저장 됩니다. 암호화 된 암호 암호화 키를 노출할 수도 데이터베이스 내용을 표시 하는 보안 위험으로 안전 하 게 간주 되지 않습니다. 즉, 암호화 된 암호를 해독 하 고 노출 수 없습니다. 암호 저장 하 고 암호 비교 또는 암호 검색에 대 한 암호를 해독할 수 때 암호화 됩니다. 해시 된 암호는 데이터베이스에 저장 하는 경우 단방향 솔트된 해시를 사용 하 여 암호화 됩니다. 암호의 유효성을 검사 하는 경우 솔트 값과 함께 이며 해시 합니다. 확인을 위해 데이터베이스의 값을 사용 하 여 결과 비교 합니다. 해시 된 암호를 검색할 수 없습니다.

참고

ASP.NET의 멤버 자격 기능을 사용 하 여 잘 모르는 경우 Introduction to Membership 계속 하기 전에 합니다. 멤버 자격에 관련 된 기타 항목 목록을 참조 하세요 멤버 자격을 사용 하 여 사용자 관리합니다.

적용 대상

추가 정보