MembershipPasswordFormat 열거형

정의

멤버 자격 사용자에 대한 암호를 저장하는 암호화 형식을 설명합니다.Describes the encryption format for storing passwords for membership users.

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

필드

Clear 0

안전하지 않으므로 사용하지 마세요.Not secure, do not use. 암호가 암호화되지 않은 경우Passwords are not encrypted.

Encrypted 2

안전하지 않으므로 사용하지 마세요.Not secure, do not use. 암호가 machineKey 요소(ASP.NET 설정 스키마) 요소 구성으로 결정된 암호화 설정을 사용하여 암호화된 경우Passwords are encrypted using the encryption settings determined by the machineKey Element (ASP.NET Settings Schema) element configuration.

Hashed 1

암호가 단방향 SHA1 해시 알고리즘을 사용하여 암호화된 경우Passwords are encrypted one-way using the SHA1 hashing algorithm. 특성을 사용하여 SHA1 알고리즘과 다른 해시 알고리즘을 지정할 수 있습니다.You can specify a hashing algorithm different than the SHA1 algorithm by using the attribute.

예제

다음 예제에서는 ASP.NET 응용 프로그램에 대 한 web.config 파일의 system.web 섹션에 있는 MachineKey 요소 (ASP.NET Settings Schema) 요소를 보여 줍니다.The following example shows the machineKey Element (ASP.NET Settings Schema) element in the system.web section of the Web.config file for an ASP.NET application. 애플리케이션의 지정 SqlMembershipProvider 인스턴스 및 해당 암호 서식을 설정 Hashed합니다.It specifies the application's SqlMembershipProvider instance and sets its password format to Hashed.

이 예제에서는 SHA1을 사용 합니다.This example uses SHA1. SHA1 관련 충돌 문제로 인해 SHA256을 사용하는 것이 좋습니다.Due to collision problems with SHA1, Microsoft recommends 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 클래스는 다른 암호 저장소 형식을 지원 하지만 Hashed만 사용 해야 합니다. ClearEncrypted은 안전 하지 않습니다.The SqlMembershipProvider class supports different password storage formats, but you should only use Hashed; Clear and Encrypted are not secure. Clear 암호 보안 되지 않으며 사용할 수 없습니다.Clear passwords are not secure and shouldn't be used. 일반 텍스트로 저장 됩니다.They are stored in plain text. 암호화 된 암호 암호화 키를 노출할 수도 데이터베이스 내용을 표시 하는 보안 위험으로 안전 하 게 간주 되지 않습니다.Encrypted passwords are not considered safe, as a breach that reveals your database contents can also expose the encryption key. 즉, 암호화 된 암호를 해독 하 고 노출 수 없습니다.This means your encrypted passwords could be decrypted and exposed. 암호 저장 하 고 암호 비교 또는 암호 검색에 대 한 암호를 해독할 수 때 암호화 됩니다.Passwords are encrypted when stored and can be decrypted for password comparison or password retrieval. 해시 된 암호는 데이터베이스에 저장 하는 경우 단방향 솔트된 해시를 사용 하 여 암호화 됩니다.Hashed passwords are encrypted using a one-way salted hash when stored in the database. 암호의 유효성을 검사 하는 경우 솔트 값과 함께 이며 해시 합니다.When a password is validated, it is combined with a salt value and then hashed. 확인을 위해 데이터베이스의 값을 사용 하 여 결과 비교 합니다.The result is compared with the value in the database for verification. 해시 된 암호를 검색할 수 없습니다.Hashed passwords cannot be retrieved.

참고

ASP.NET의 멤버 자격 기능을 사용 하 여 잘 모르는 경우 Introduction to Membership 계속 하기 전에 합니다.If you are not familiar with the membership features of ASP.NET, see Introduction to Membership before continuing. 멤버 자격에 관련 된 기타 항목 목록을 참조 하세요 멤버 자격을 사용 하 여 사용자 관리합니다.For a list of other topics related to membership, see Managing Users by Using Membership.

적용 대상

추가 정보