SqlMembershipProvider.PasswordFormat Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.