Advertisement
Guest User

Untitled

a guest
Oct 26th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.71 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using MySql.Data.MySqlClient;
  11.  
  12. namespace Passwords
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         MySqlConnection cm;
  17.         string input,username,password,usersalt,userlogin;
  18.         bool correctuser, passwordcerta;
  19.         public Form1()
  20.         {
  21.             InitializeComponent();
  22.         }
  23.         private void Form1_Load(object sender, EventArgs e)
  24.         {
  25.             input = textBox8.Text;
  26.             try
  27.             {
  28.                 cm = new MySqlConnection();
  29.                 cm.ConnectionString = "server=127.0.0.1;uid=neuro;pwd=123;database=neuro;Convert Zero Datetime=True;";
  30.                 cm.Open();
  31.                 MessageBox.Show("Connected to the DataBase");
  32.             }
  33.             catch (MySql.Data.MySqlClient.MySqlException ex)
  34.             {
  35.                 MessageBox.Show(ex.Message);
  36.             }
  37.         }
  38.         private void button1_Click(object sender, EventArgs e)
  39.         {
  40.             string salt1,hash;
  41.             userlogin = textBox8.Text;
  42.             MySqlCommand cmd = new MySqlCommand();
  43.             cmd.CommandText = "SELECT salt,hash FROM passwords WHERE user='@user';";
  44.             cmd.CommandType = CommandType.Text;
  45.             cmd.Connection = cm;
  46.             cmd.Parameters.AddWithValue("@user", userlogin);
  47.             MySqlDataReader reader = cmd.ExecuteReader();
  48.             while (reader.Read())
  49.             {
  50.                     salt1 = reader[0].ToString();
  51.                     hash = reader[1].ToString();
  52.                
  53.                 string hashedpassword = GenerateSHA512Hash(input, salt1);
  54.                     if (hash == hashedpassword)
  55.                     {
  56.                     passwordcerta = true;
  57.                     MessageBox.Show("Acertou Miseravel");
  58.                     }
  59.             }
  60.             reader.Close();
  61.         }
  62.  
  63.         private void button2_Click(object sender, EventArgs e)
  64.         {
  65.             try
  66.             {
  67.                 username = textBox7.Text;
  68.                 password = textBox5.Text;
  69.                 String salt = CreateSalt(10);
  70.                 String hashedpassword = GenerateSHA512Hash(textBox1.Text, salt);
  71.                 usersalt = salt;
  72.  
  73.                 MySqlCommand cmd = new MySqlCommand();
  74.                 cmd.CommandText = "INSERT INTO passwords(user,salt,hash) VALUES(@user,@salt,@hash);";
  75.                 cmd.CommandType = CommandType.Text;
  76.                 cmd.Connection = cm;
  77.                 cmd.Parameters.AddWithValue("@user", username);
  78.                 cmd.Parameters.AddWithValue("@salt", usersalt);
  79.                 cmd.Parameters.AddWithValue("@hash", hashedpassword);
  80.                 cmd.ExecuteNonQuery();
  81.             }
  82.             catch (MySql.Data.MySqlClient.MySqlException ex)
  83.             {
  84.                 MessageBox.Show(ex.Message);
  85.             }
  86.         }
  87.  
  88.         public String CreateSalt(int size)
  89.         {
  90.             var rng = new System.Security.Cryptography.RNGCryptoServiceProvider();
  91.             var buff = new byte[size];
  92.             rng.GetBytes(buff);
  93.             return Convert.ToBase64String(buff);
  94.         }
  95.         public String GenerateSHA512Hash(String input ,String salt)
  96.         {
  97.             byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input + salt);
  98.             System.Security.Cryptography.SHA256Managed sha256hashstring = new System.Security.Cryptography.SHA256Managed();
  99.             byte[] hash = sha256hashstring.ComputeHash(bytes);
  100.  
  101.             return Convert.ToBase64String(hash);
  102.         }
  103.     }
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement