private void addButton_Click(object sender, RoutedEventArgs e) { if (loginTextBox.Text != "" & passwordTextBox.Text != "") // Если поле логина и пароля не пустые { if (passwordTextBox.Text.Length > 4 ) // Если пароль более 4 символов { User user = new User(); // Создаем пользователя AdditiveData aData = new AdditiveData(); // Создаем доп. данные user.Login = loginTextBox.Text.ToString(); // Устанавливаем Login aData.ID = user.ID; // Устанавливаем ID для доп. данных aData.Salt = RandomString(10); // Получаем Соль user.AdditiveData = aData; MD5 md5 = new MD5CryptoServiceProvider(); //compute hash from the bytes of text byte[] checkSum = ASCIIEncoding.ASCII.GetBytes(passwordTextBox.Text + user.AdditiveData.Salt); md5.ComputeHash(checkSum); byte[] result = md5.Hash; string password = BitConverter.ToString(result).Replace("-", String.Empty); user.Password = password.ToString(); DbInteraсtion.addUser(user); // Добавляем пользователя в БД MessageWindow.Show(string.Format("Пользователь {0} успешно добавлен в базу данных", // Уведомляем user.Login)); clearTextBoxes(); // Очищаем текстовые поля } else { MessageWindow.Show("Длина пароля должна быть более чем 4 символа"); } } }
public void userTest() { User user = new User { ID = 1, Login = "******", Password = "******" }; AdditiveData adata = new AdditiveData { ID = user.ID, Salt = "123456789" }; User gotUser = DbInteraсtion.getUser("demon"); if(gotUser==null) DbInteraсtion.addUser(user); else { DbInteraсtion.deleteUser(user); DbInteraсtion.addUser(user); } gotUser = DbInteraсtion.getUser("demon"); Assert.IsNotNull(gotUser); DbInteraсtion.deleteUser(user); gotUser = DbInteraсtion.getUser("demon"); Assert.IsNull(gotUser); }