Bagikan melalui


MembershipPasswordFormat Enum

Definisi

Menjelaskan format enkripsi untuk menyimpan kata sandi untuk pengguna keanggotaan.

public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat = 
Public Enum MembershipPasswordFormat
Warisan
MembershipPasswordFormat

Bidang

Clear 0

Tidak aman, jangan gunakan. Kata sandi tidak dienkripsi.

Encrypted 2

Tidak aman, jangan gunakan. Kata sandi dienkripsi menggunakan pengaturan enkripsi yang ditentukan oleh konfigurasi elemen machineKey.

Hashed 1

Kata sandi dienkripsi satu arah menggunakan algoritma hash SHA1. Anda dapat menentukan algoritma hashing yang berbeda dari algoritma SHA1 dengan menggunakan hashAlgorithmType atribut .

Karena masalah tabrakan dengan SHA1, Microsoft merekomendasikan SHA256.

Contoh

Contoh berikut menunjukkan elemen MachineKey Element (ASP.NET Settings Schema) di system.web bagian file Web.config untuk aplikasi ASP.NET. Ini menentukan instans aplikasi SqlMembershipProvider dan mengatur format kata sandinya ke Hashed.

Contoh ini menggunakan SHA1. Karena masalah tabrakan dengan SHA1, Microsoft merekomendasikan 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>  

Keterangan

Kelas SqlMembershipProvider mendukung format penyimpanan kata sandi yang berbeda, tetapi Anda hanya boleh menggunakan Hashed; Clear dan Encrypted tidak aman. Kata sandi yang jelas tidak aman dan tidak boleh digunakan. Mereka disimpan dalam teks biasa. Kata sandi terenkripsi tidak dianggap aman, karena pelanggaran yang mengungkapkan konten database Anda juga dapat mengekspos kunci enkripsi. Ini berarti kata sandi terenkripsi Anda dapat didekripsi dan diekspos. Kata sandi dienkripsi ketika disimpan dan dapat didekripsi untuk perbandingan kata sandi atau pengambilan kata sandi. Kata sandi yang di-hash dienkripsi menggunakan hash asin satu arah saat disimpan dalam database. Ketika kata sandi divalidasi, kata sandi dikombinasikan dengan nilai salt dan kemudian di-hash. Hasilnya dibandingkan dengan nilai dalam database untuk verifikasi. Kata sandi yang di-hash tidak dapat diambil.

Catatan

Jika Anda tidak terbiasa dengan fitur keanggotaan ASP.NET, lihat Pengantar Keanggotaan sebelum melanjutkan. Untuk daftar topik lain yang terkait dengan keanggotaan, lihat Mengelola Pengguna dengan Menggunakan Keanggotaan.

Berlaku untuk

Lihat juga