.NET 4.x Сравнение MD5 пароля с данными в текстовом файле - C#

Узнай цену своей работы

Формулировка задачи:

Есть пароль на вход. Нужно зашифровать в md5. С этим справился, хэш записывается в текстовый файл:
private void button1_Click(object sender, EventArgs e)
        {

            if (textBox1.Text == textBox2.Text)
            {
                MasterPass = textBox1.Text; Close();
            }
            else
            {
                MessageBox.Show("Пароли не совпадают!");
            }
            using (StreamWriter sw = new StreamWriter("Text.txt"))
            {
                MD5 md5 = new MD5CryptoServiceProvider();
                byte[] checkSum1 = md5.ComputeHash(Encoding.UTF8.GetBytes(MasterPass));
                MasterPass = BitConverter.ToString(checkSum1).Replace("-", String.Empty);                
                sw.WriteLine(MasterPass);
               
            }
        }
Теперь нужно чтобы хэш в текстовом файле так и остался, но чтобы при чтении оттуда он обратно декодировал в мой пароль. Вот чтение:
 private void button1_Click(object sender, EventArgs e)
        {
            using (StreamReader sr = new StreamReader("Text.txt"))
            {
                Form2.MasterPass = sr.ReadLine();
            }
            if (textBox1.Text == Form2.MasterPass)
            {
 
                Form f3 = new Form3(); 
                f3.ShowDialog();
                textBox1.Text = null;
            }
            else
            {
                MessageBox.Show("Check your password!", "Error");
            }
        }

Решение задачи: «.NET 4.x Сравнение MD5 пароля с данными в текстовом файле»

textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
        {
            
            using (StreamReader sr = new StreamReader("Text.txt"))
            {
                Form2.MasterPass2 = textBox1.Text;
                MD5 md5 = new MD5CryptoServiceProvider();
                byte[] checkSum1 = md5.ComputeHash(Encoding.UTF8.GetBytes(Form2.MasterPass2));
                Form2.MasterPass2 = BitConverter.ToString(checkSum1).Replace("-", String.Empty);
                Form2.MasterPass = sr.ReadLine();
                
            }
            if (Form2.MasterPass == Form2.MasterPass2)
            {
 
                Form f3 = new Form3(); 
                f3.ShowDialog();
                textBox1.Text = null;
            }
            else
            {
                MessageBox.Show("Check your password!", "Error");
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы