Bagikan melalui


SqlMembershipProvider.PasswordFormat Properti

Definisi

Mendapatkan nilai yang menunjukkan format untuk menyimpan kata sandi dalam database keanggotaan SQL Server.

public:
 virtual property System::Web::Security::MembershipPasswordFormat PasswordFormat { System::Web::Security::MembershipPasswordFormat get(); };
public override System.Web.Security.MembershipPasswordFormat PasswordFormat { get; }
member this.PasswordFormat : System.Web.Security.MembershipPasswordFormat
Public Overrides ReadOnly Property PasswordFormat As MembershipPasswordFormat

Nilai Properti

Salah MembershipPasswordFormat satu nilai, menunjukkan format untuk menyimpan kata sandi dalam database SQL Server.

Contoh

Contoh kode berikut menunjukkan elemen keanggotaan di bagian system.web file Web.config untuk aplikasi ASP.NET. Ini menentukan instans aplikasi SqlMembershipProvider dan mengatur format kata sandinya ke Hashed.

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

Keterangan

Gunakan Hashed saja, Clear dan Encrypted tidak aman. Hashed kata sandi di-hash menggunakan algoritma hash satu arah dan nilai garam yang dihasilkan secara acak saat disimpan dalam database. Ketika kata sandi divalidasi, kata sandi di-hash dengan nilai garam dalam database untuk verifikasi. Kata sandi yang di-hash tidak dapat diambil. Encrypted kata sandi 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.

Nilai PasswordFormat ditentukan di bagian penyedia file Web.config untuk aplikasi ASP.NET.

Encrypted kata sandi dan Hashed dienkripsi atau di-hash secara default berdasarkan informasi yang disediakan dalam elemen machineKey dalam konfigurasi Anda. Perhatikan bahwa jika Anda menentukan nilai 3DES untuk validation atribut , atau jika tidak ada nilai yang ditentukan, kata sandi yang di-hash akan di-hash menggunakan SHA1 algoritma .

Algoritma hash kustom dapat didefinisikan menggunakan hashAlgorithmType atribut elemen konfigurasi Element keanggotaan (ASP.NET Settings Schema). Jika Anda memilih enkripsi, enkripsi kata sandi default menggunakan AES. Anda dapat mengubah algoritma enkripsi dengan mengatur decryption atribut elemen konfigurasi machineKey . Jika Anda mengenkripsi kata sandi, Anda harus memberikan nilai eksplisit untuk decryptionKey atribut dalam elemen machineKey . Nilai AutoGenerate default untuk decryptionKey atribut tidak didukung saat menggunakan kata sandi terenkripsi dengan Keanggotaan ASP.NET.

Karena masalah tabrakan dengan SHA1, Microsoft merekomendasikan model keamanan berdasarkan SHA256 atau lebih baik.

Berlaku untuk

Lihat juga