Member 12825381 Ответов: 2

Как я шифрую пароль в C# с помощью aes или des


я пишу этот код ведьма генерирует пароль но как я шифрую этот пароль

Что я уже пробовал:

protected void btn_save_Click(object sender, EventArgs e)
  {
      Random ran = new Random();
      txt_password.Text = ran.Next(1000, 10000000).ToString();
      string sql = "insert into F_USER (user_name,email,password,user_type) values (@name,@email,@pass,@type)";
      SqlCommand cmd = new SqlCommand(sql, con);
      cmd.Parameters.AddWithValue("@name", txt_name.Text);
      cmd.Parameters.AddWithValue("@email", txt_email.Text);
      cmd.Parameters.AddWithValue("@pass", txt_password.Text);
      cmd.Parameters.AddWithValue("@type", drop_list.SelectedValue);
      con.Open();
      cmd.ExecuteNonQuery();
      con.Close();
      Lb_message.Text = "تم اضافة المستخدم بنجاح";



  }

  protected void drop_list_Selected Index Changed(object sender, EventArgs e)
  {

  }

2 Ответов

Рейтинг:
15

OriginalGriff

Вы этого не делаете: вы хэшируете пароли, а не шифруете их:
Хранение паролей: как это сделать.[^]


Рейтинг:
1

P_Z

Пароль (и добавьте случайную соль, которая сохраняется в другом поле, но соединяется с паролем перед проверкой хэш-значения) должен быть хэширован с помощью хэш-функций, таких как sha-2 или sha-3, Безопасный Алгоритм Хэширования-Википедия[^]
Это один из способов "шифрования" в том смысле, что вам нужно правильно ввести пароль (+ concat salt), чтобы получить то же самое хэш-значение.

Тогда что вы упомянули симметричные алгоритмы шифрования, такие как: AES, DES, 3DES и т. д Сравнению с des, тройной des, AES шифрование, шифрование Blowfish для сведения - переполнение стека [^] будет использовать один и тот же ключ для шифрования и дешифрования данных.

Затем существуют алгоритмы асимметричного шифрования (или шифрования с открытым ключом), такие как: RSA Что такое асимметричная криптография (криптография с открытым ключом)? - Определение из WhatIs.com[^], который использует 2 связанных ключа. Открытый ключ предназначен для шифрования данных, закрытый-для их расшифровки.