MembershipPasswordFormat Enum
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.
Menjelaskan format enkripsi untuk menyimpan kata sandi untuk pengguna keanggotaan.
public enum class MembershipPasswordFormat
public enum MembershipPasswordFormat
type MembershipPasswordFormat =
Public Enum MembershipPasswordFormat
- Warisan
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 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.