Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }