Exemplo n.º 1
0
        private void button1_Click(object sender, EventArgs e)
        {
            bool   fLet = false;
            bool   fSym = false;
            bool   fPun = false;
            string hashedPassword;

            if (isFirstAuthF3)
            {
                if (textBox1.Text.Length >= 8)
                {
                    if (textBox1.Text == textBox2.Text)
                    {
                        hashedPassword  = ActSelForm.initList(textBox1.Text);
                        userF3.password = hashedPassword;
                        userF3.hashIter = ActSelForm.defaultIterNum;
                        pswChanged      = true;
                    }
                    else
                    {
                        label5.Text = "Пароли не совпадают";
                    }
                }
                else
                {
                    label5.Text = "Длина пароля меньше 8 символов";
                }
            }
            else
            {
                hashedPassword = textBox3.Text;
                for (var i = 0; i < userF3.hashIter; i++)
                {
                    using (SHA512 shaM = new SHA512Managed())
                    {
                        hashedPassword = Encoding.UTF8.GetString(shaM.ComputeHash(Encoding.UTF8.GetBytes(hashedPassword)));
                    }
                }
                // Удаляем из захешированной фразы лишние символы, которые мешают считыванию
                hashedPassword = hashedPassword.Replace(" ", "");
                hashedPassword = hashedPassword.Replace("\n", "");
                hashedPassword = hashedPassword.Replace("\t", "");
                hashedPassword = hashedPassword.Replace("\r", "");

                if (hashedPassword == userF3.password)
                {
                    if (textBox1.Text.Length >= 8)
                    {
                        if (textBox1.Text == textBox2.Text)
                        {
                            hashedPassword = ActSelForm.initList(textBox1.Text);

                            userF3.password = hashedPassword;
                            userF3.hashIter = ActSelForm.defaultIterNum;
                            pswChanged      = true;
                        }
                        else
                        {
                            label5.Text = "Пароли не совпадают";
                        }
                    }
                    else
                    {
                        label5.Text = "Длина пароля меньше 8 символов";
                    }
                }
                else
                {
                    label4.Text = "Неверно введен старый пароль";
                }
            }

            dataBase.dBase[ind] = userF3;
            if (pswChanged)
            {
                using (StreamWriter sw = new StreamWriter(@"log.txt", true))
                {
                    sw.WriteLine(DateTime.Now + " " + "Пароль изменен");
                }
                Close();
            }
        }