MembershipPasswordFormat 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
멤버 자격 사용자의 암호를 저장하기 위한 암호화 형식에 대해 설명합니다.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- 상속
필드
| Name | 값 | Description |
|---|---|---|
| Clear | 0 | 안전하지 않습니다. 사용하지 마세요. 암호는 암호화되지 않습니다. |
| Hashed | 1 | 암호는 SHA1 해시 알고리즘을 사용하여 단방향으로 암호화됩니다. 특성을 사용하여 SHA1 알고리즘과 다른 해시 알고리즘을 SHA1 관련 충돌 문제로 인해 SHA256을 사용하는 것이 좋습니다. |
| Encrypted | 2 | 안전하지 않습니다. 사용하지 마세요. 암호는 machineKey 요소 구성에 의해 결정되는 암호화 설정을 사용하여 암호화됩니다. |
예제
다음 예제에서는 ASP.NET 애플리케이션에 대한 Web.config 파일의 system.web 섹션에 있는 machineKey 요소(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 서로 다른 암호 스토리지 형식을 지원하지만, 사용자는 ; Clear 만 사용해야 Hashed하며 Encrypted 안전하지 않습니다. 암호 지우기 기능은 안전하지 않으므로 사용하면 안 됩니다. 일반 텍스트로 저장됩니다. 암호화된 암호는 안전한 것으로 간주되지 않습니다. 데이터베이스 내용을 표시하는 위반이 암호화 키를 노출할 수도 있기 때문에 즉, 암호화된 암호를 해독하고 노출할 수 있습니다. 암호는 저장될 때 암호화되며 암호 비교 또는 암호 검색을 위해 암호 해독할 수 있습니다. 해시된 암호는 데이터베이스에 저장될 때 단방향 솔트 해시를 사용하여 암호화됩니다. 암호의 유효성이 검사되면 솔트 값과 결합된 다음 해시됩니다. 결과는 확인을 위해 데이터베이스의 값과 비교됩니다. 해시된 암호를 검색할 수 없습니다.
메모
ASP.NET 멤버 자격 기능에 익숙하지 않은 경우 계속하기 전에 멤버 자격 소개를 참조하세요. 멤버 자격과 관련된 다른 항목 목록은 멤버 자격을 사용하여 사용자 관리를 참조하세요.