Sp|R|T
یک شنبه 17 اردیبهشت 1391, 14:46 عصر
اول اینکه اومید وارم این تاپیکم هم مثه تاپیک های دیگه بی جواب نمونه :لبخند:
خب حالا سلام :دی
برادران مهرابان، من یه برنامه ساختم که یه جور لوگین فورم داره، و یوزر پسوردش هم از مای اس کیو ال میگیره
و این MYSQL هم از پسورداش یه نوع الگریتمی سیو شده ( توسط سایم :دی ) که نمیدونم چطور با سی شارپ کرکش کنم
در واقع من نیازی به کرک کردنش رو هم ندارم، فقط میخوام پسوردی که توی لوگین فورم برنامم میزنم، یه جوری هش بشه و بعد توی MYSQL چک بشه که اگه درس بود، عملیات های دیگم رو انجام بدم :دی :دی
خب اول این عکس رو ببینین:
1-MYSQL
http://www1.tokhali.com/1.jpg
2-APP:
http://www1.tokhali.com/2.jpg
و این هم فول کدی که ساختم ولی با یه الگریتم دیگه ای داره چک میکنه:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Security.Cryptography;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
MySqlConnection Conn = new MySqlConnection(@"Server=127.0.0.1;Port=3306;Database=game;User ID=root;Password=;CharSet=utf8");
public Form1()
{
InitializeComponent();
}
static string GetMd5Hash(MD5 md5Hash, string input)
{
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)) ;
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
private void btnLogin_Click(object sender, EventArgs e)
{
//For Hashed Password:
string source = txtpass.Text;
using (MD5 md5Hash = MD5.Create())
{
string hash = GetMd5Hash(md5Hash, source);
txthash.Text = (hash);
}
string query = "SELECT acct_username, acct_passhash1 FROM pvpgn_bnet Where acct_username='" + txtuser.Text + "' and acct_passhash1='" + txthash.Text + "'";
MySqlCommand Cmd = new MySqlCommand(query, Conn);
if (Conn.State == ConnectionState.Closed)
Conn.Open();
MySqlDataReader dr = Cmd.ExecuteReader();
if (dr.Read())
{
MessageBox.Show("True");
}
else
{
MessageBox.Show("Fals");
}
Conn.Close();
}
}
}
وارنینگ :دی :
پسورد سیو شده در MYSQL :
3a9fb1381f4a6c0ec1a1f97a74bccea69aac8900
که کرک شدش = 123456
و اگه از توی برنامه چک بشه، این پسورد رو میده:
e10adc3949ba59abbe56e057f20f883e
که این هم کرک شدش = 123456
........
خب سخته نیس نه؟ :لبخند:
خب حالا سلام :دی
برادران مهرابان، من یه برنامه ساختم که یه جور لوگین فورم داره، و یوزر پسوردش هم از مای اس کیو ال میگیره
و این MYSQL هم از پسورداش یه نوع الگریتمی سیو شده ( توسط سایم :دی ) که نمیدونم چطور با سی شارپ کرکش کنم
در واقع من نیازی به کرک کردنش رو هم ندارم، فقط میخوام پسوردی که توی لوگین فورم برنامم میزنم، یه جوری هش بشه و بعد توی MYSQL چک بشه که اگه درس بود، عملیات های دیگم رو انجام بدم :دی :دی
خب اول این عکس رو ببینین:
1-MYSQL
http://www1.tokhali.com/1.jpg
2-APP:
http://www1.tokhali.com/2.jpg
و این هم فول کدی که ساختم ولی با یه الگریتم دیگه ای داره چک میکنه:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using MySql.Data.Types;
using System.Security.Cryptography;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
MySqlConnection Conn = new MySqlConnection(@"Server=127.0.0.1;Port=3306;Database=game;User ID=root;Password=;CharSet=utf8");
public Form1()
{
InitializeComponent();
}
static string GetMd5Hash(MD5 md5Hash, string input)
{
// Convert the input string to a byte array and compute the hash.
byte[] data = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input)) ;
// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();
// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
// Return the hexadecimal string.
return sBuilder.ToString();
}
private void btnLogin_Click(object sender, EventArgs e)
{
//For Hashed Password:
string source = txtpass.Text;
using (MD5 md5Hash = MD5.Create())
{
string hash = GetMd5Hash(md5Hash, source);
txthash.Text = (hash);
}
string query = "SELECT acct_username, acct_passhash1 FROM pvpgn_bnet Where acct_username='" + txtuser.Text + "' and acct_passhash1='" + txthash.Text + "'";
MySqlCommand Cmd = new MySqlCommand(query, Conn);
if (Conn.State == ConnectionState.Closed)
Conn.Open();
MySqlDataReader dr = Cmd.ExecuteReader();
if (dr.Read())
{
MessageBox.Show("True");
}
else
{
MessageBox.Show("Fals");
}
Conn.Close();
}
}
}
وارنینگ :دی :
پسورد سیو شده در MYSQL :
3a9fb1381f4a6c0ec1a1f97a74bccea69aac8900
که کرک شدش = 123456
و اگه از توی برنامه چک بشه، این پسورد رو میده:
e10adc3949ba59abbe56e057f20f883e
که این هم کرک شدش = 123456
........
خب سخته نیس نه؟ :لبخند: