public void DuomenuIrasymas() { SqlConnection sql = new SqlConnection(ConnectionString); HashSalt hashSalt = HashSalt.GenerateSaltedHash(64, PasswordRegisterTB.Text); string querry = "INSERT INTO UserInfo(UserName, Email, BirthDate, Hash, Salt) VALUES(@UserName, @Email, @BirthDate, @Hash, @Salt)"; SqlCommand command = new SqlCommand(querry, sql); command.Parameters.AddWithValue("@UserName", UserNameRegisterTB.Text); command.Parameters.AddWithValue("@Email", EmailRegisterTB.Text); command.Parameters.AddWithValue("@BirthDate", BirthDateRegisterDTP.Value); command.Parameters.AddWithValue("@Hash", hashSalt.Hash); command.Parameters.AddWithValue("@Salt", hashSalt.Salt); sql.Open(); var atsakymas = command.ExecuteNonQuery(); if (atsakymas < 0) { Console.WriteLine("Irasyti i duomenu baze nepavyko"); } sql.Close(); this.Close(); Beuzsidarant(); }
public static HashSalt GenerateSaltedHash(int size, string password) { var saltbytes = new byte[size]; var provider = new RNGCryptoServiceProvider(); provider.GetNonZeroBytes(saltbytes); var salt = Convert.ToBase64String(saltbytes); var pbkdf2 = new Rfc2898DeriveBytes(password, saltbytes, 1000); var hash = Convert.ToBase64String(pbkdf2.GetBytes(256)); HashSalt hashSalt = new HashSalt { Hash = hash, Salt = salt }; return(hashSalt); }