Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah PBKDF2 Menyimpan Kata Laluan Selamat dalam .NET (2012)?

Bagaimanakah PBKDF2 Menyimpan Kata Laluan Selamat dalam .NET (2012)?

Linda Hamilton
Linda Hamiltonasal
2025-01-23 12:41:10871semak imbas

How PBKDF2 Protects Passwords in .NET (2012)

Keselamatan Kata Laluan: Melangkaui Penyulitan Mudah

Menyimpan kata laluan menggunakan penyulitan mudah adalah tidak mencukupi. Hashing, fungsi kriptografi sehala, menyediakan penyelesaian yang lebih kukuh dengan menukar kata laluan kepada nilai panjang tetap yang unik, tidak boleh diterbalikkan.

Pengendalian Kata Laluan Selamat pada 2012: Amalan Terbaik

Pada tahun 2012, PBKDF2 (Fungsi Terbitan Kunci Berasaskan Kata Laluan 2) ialah algoritma yang disyorkan untuk aplikasi .NET. Kelas Rfc2898DeriveBytes memudahkan proses pencincangan yang selamat melalui langkah utama ini:

Langkah 1: Penjanaan Garam

<code class="language-csharp">byte[] salt = new byte[16];
new RNGCryptoServiceProvider().GetBytes(salt);</code>

Langkah 2: Penciptaan Hash

<code class="language-csharp">var pbkdf2 = new Rfc2898DeriveBytes(password, salt, 100000);
byte[] hash = pbkdf2.GetBytes(20);</code>

Langkah 3: Menggabungkan Garam dan Hash

<code class="language-csharp">byte[] hashBytes = new byte[36];
Array.Copy(salt, 0, hashBytes, 0, 16);
Array.Copy(hash, 0, hashBytes, 16, 20);</code>

Langkah 4: Pengekodan Base64 untuk Storan

<code class="language-csharp">string savedPasswordHash = Convert.ToBase64String(hashBytes);</code>

Langkah 5: Pengesahan Kata Laluan

<code class="language-csharp">byte[] hashBytes = Convert.FromBase64String(savedPasswordHash);
byte[] salt = new byte[16];
Array.Copy(hashBytes, 0, salt, 0, 16);
var pbkdf2 = new Rfc2898DeriveBytes(password, salt, 100000);
byte[] hash = pbkdf2.GetBytes(20);

// Compare hash values here...</code>

Kiraan lelaran (100000 dalam contoh ini) dalam PBKDF2 mengawal kos pengiraan retak. Walaupun 10000 adalah minimum yang dicadangkan, laraskan nilai ini berdasarkan keperluan prestasi aplikasi anda. Kiraan lelaran yang lebih tinggi meningkatkan keselamatan tetapi boleh menjejaskan kelajuan aplikasi.

Atas ialah kandungan terperinci Bagaimanakah PBKDF2 Menyimpan Kata Laluan Selamat dalam .NET (2012)?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn