Rumah > pembangunan bahagian belakang > C++ > Bagaimana saya boleh dengan selamat hash dan kata laluan garam di C#?

Bagaimana saya boleh dengan selamat hash dan kata laluan garam di C#?

Patricia Arquette
Lepaskan: 2025-01-28 06:07:09
asal
759 orang telah melayarinya

kaedah pelesapan selamat dan kata laluan garam di C#

Pengenalan

Keselamatan kata laluan adalah penting dalam mana -mana aplikasi perisian. Loltation dan garam adalah dua teknologi utama untuk melindungi kata laluan yang tidak dibocorkan.

Davidhayden Code: Sambungan Asas dan Garam

Serpihan kod Davidhayden menyediakan pelaksanaan asas kata laluan dan garam. Ia menggunakan kelas formsauthentication untuk menyebarkan kata laluan untuk menyimpannya dalam fail konfigurasi. Walau bagaimanapun, untuk gumpalan binari seperti lanjutan dan garam, penukaran antara rentetan dianggap tidak perlu.

kaedah C# alternatif: lanjutan lanjutan dan garam

Kaedah penambahbaikan berikut dari "permulaan Asp.net Security" termasuk beberapa fungsi peningkatan:

Kaedah ini menggunakan algoritma SHA256 yang lebih selamat dan melakukan penyebaran pada array byte dan bukannya rentetan. Ia juga memastikan bahawa garam setiap kata laluan adalah unik.

static byte[] GenerateSaltedHash(byte[] plainText, byte[] salt)
{
  HashAlgorithm algorithm = new SHA256Managed();

  byte[] plainTextWithSaltBytes = 
    new byte[plainText.Length + salt.Length];

  for (int i = 0; i < plainText.Length; i++)
  {
    plainTextWithSaltBytes[i] = plainText[i];
  }
  for (int i = 0; i < salt.Length; i++)
  {
    plainTextWithSaltBytes[plainText.Length + i] = salt[i];
  }

  byte[] hash = algorithm.ComputeHash(plainTextWithSaltBytes);

  return hash;
}
Salin selepas log masuk
Langkah berjaga -jaga lain

Teks boleh ditukar kepada array byte.

Shadles boleh ditukar kepada rentetan dengan
    dan gunakan
  • untuk menukar array byte. Encoding.UTF8.GetBytes(string)
  • Perbandingan yang sama antara array byte harus dilakukan dengan berbasikal dan pengesahan setiap bait.
  • Convert.ToBase64String Garam tidak boleh digunakan semula, dan ia harus disimpan dengan kata laluan yang diletakkan. Convert.FromBase64String

Atas ialah kandungan terperinci Bagaimana saya boleh dengan selamat hash dan kata laluan garam di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan