Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Data.Linq;
- using System.Security.Cryptography;
- using System.IO;
- namespace QuanLyPhongMachTu
- {
- public partial class frmLogin : Form
- {
- public string UserName = null;
- public string UserJob = null;
- public string UserFullName = null;
- public int UserCode = -1;
- static readonly string PasswordHash = "P@@Sw0rd";
- static readonly string SaltKey = "S@LT&KEY";
- static readonly string VIKey = "@1B2c3D4e5F6g7H8";
- PhongMachTuDataContext db = new PhongMachTuDataContext();
- void saveLog(string Tag, string Action)
- {
- // Lưu thông tin hoạt động của user vào log
- USER_LOG log = new USER_LOG();
- log.Username = UserName;
- log.Time = DateTime.Now;
- log.Tag = Tag;
- log.Action = Action;
- // Lưu log xuống database
- db.USER_LOGs.InsertOnSubmit(log);
- db.SubmitChanges();
- }
- public frmLogin()
- {
- InitializeComponent();
- }
- private void frmLogin_Load(object sender, EventArgs e)
- {
- }
- private void txtUserName_TextChanged(object sender, EventArgs e)
- {
- if(txtUserName.Text == "")
- {
- txtUserName.Text = "Tên đăng nhập";
- txtUserName.ForeColor = Color.DarkGray;
- }
- else if (txtUserName.Text == ("Tên đăng nhập"))
- {
- txtUserName.SelectAll();
- }
- else
- txtUserName.ForeColor = Color.Black;
- }
- private void txtPassword_TextChanged(object sender, EventArgs e)
- {
- if(txtPassword.Text != "Mật khẩu")
- {
- txtPassword.ForeColor = Color.Black;
- txtPassword.UseSystemPasswordChar = true;
- }
- }
- private void txtPassword_Leave(object sender, EventArgs e)
- {
- if (txtPassword.Text == "")
- {
- txtPassword.UseSystemPasswordChar = false;
- txtPassword.Text = "Mật khẩu";
- txtPassword.ForeColor = Color.DarkGray;
- }
- }
- private void txtUserName_Click(object sender, EventArgs e)
- {
- txtUserName.SelectAll();
- }
- private void txtPassword_Click(object sender, EventArgs e)
- {
- txtPassword.SelectAll();
- }
- private void chkShowPassword_CheckedChanged(object sender, EventArgs e)
- {
- if (chkShowPassword.Checked)
- txtPassword.UseSystemPasswordChar = false;
- else
- txtPassword.UseSystemPasswordChar = true;
- }
- private void btnLogin_Click(object sender, EventArgs e)
- {
- PhongMachTuDataContext db = new PhongMachTuDataContext();
- Table<ACCOUNT> Acc = db.GetTable<ACCOUNT>();
- var data = from acc in Acc
- where acc.Username == txtUserName.Text
- select acc;
- if(data.SingleOrDefault() != null)
- {
- // lúc đầu chưa mã hóa, lấy thẳng mật khẩu người dùng nhập, mã hóa rồi thì mã hóa password người dùng nhập
- if(((data.First() as ACCOUNT).Job == "Admin"
- && (data.First() as ACCOUNT).Pass == (txtPassword.Text))
- || (data.First() as ACCOUNT).Pass == Encrypt(txtPassword.Text, txtUserName.Text))
- {
- if ((data.First() as ACCOUNT).Status == "Active")
- {
- //Đăng nhập thành công
- UserName = (data.First() as ACCOUNT).Username;
- UserJob = (data.First() as ACCOUNT).Job;
- UserFullName = (data.First() as ACCOUNT).Name;
- UserCode = (data.First() as ACCOUNT).Code;
- saveLog("Đăng nhập", "Đăng nhập thành công.");
- Close();
- }
- else
- {
- //Tài khoản đã bị khoá
- UserName = (data.First() as ACCOUNT).Username;
- saveLog("Đăng nhập", "Đăng nhập thất bại. (Tài khoản đã bị khoá)");
- MessageBox.Show("Tài khoản của bạn đã bị khoá! \n Hãy liên hệ quản trị viên để biết thêm thông tin.",
- "Đăng nhập thất bại", MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- }
- else
- {
- //Đăng nhập thất bại (Sai mật khẩu)
- saveLog("Đăng nhập", "Đăng nhập thất bại.(Sai mật khẩu)");
- MessageBox.Show("Tên đăng nhập không tồn tài hoặc sai mật khẩu.", "Đăng nhập thất bại",
- MessageBoxButtons.OK, MessageBoxIcon.Warning);
- }
- }
- else
- {
- //Đăng nhập thất bại (Tên đăng nhập không tồn tại)
- MessageBox.Show("Tên đăng nhập không tồn tài hoặc sai mật khẩu.", "Đăng nhập thất bại",
- MessageBoxButtons.OK, MessageBoxIcon.Warning) ;
- }
- }
- // Giải mã MD5 mặc định dùng hash để giải mã
- /*public string Decrypt(string toDecrypt, string userName, bool useHashing = true)
- {
- byte[] keyArray;
- byte[] toEncryptArray = Convert.FromBase64String(toDecrypt);
- if (useHashing)
- {
- var hashmd5 = new MD5CryptoServiceProvider();
- keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes("khagiaiminhvongbasieunguyenthikhaihoan"));
- }
- else keyArray = Encoding.UTF8.GetBytes("khagiaiminhvongbasieunguyenthikhaihoan");
- var tdes = new TripleDESCryptoServiceProvider
- {
- Key = keyArray,
- Mode = CipherMode.ECB,
- Padding = PaddingMode.PKCS7
- };
- ICryptoTransform cTransform = tdes.CreateDecryptor();
- byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
- return Encoding.UTF8.GetString(resultArray);
- }*/
- // Mã hóa MD5, mặc định dùng hash
- public string Encrypt(string toEncrypt, string key, bool useHashing = true)
- {
- byte[] keyArray;
- byte[] toEncryptArray = Encoding.UTF8.GetBytes(toEncrypt);
- if (useHashing)
- {
- var hashmd5 = new MD5CryptoServiceProvider();
- keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(key));
- }
- else keyArray = Encoding.UTF8.GetBytes(key);
- var tdes = new TripleDESCryptoServiceProvider
- {
- Key = keyArray,
- Mode = CipherMode.ECB,
- Padding = PaddingMode.PKCS7
- };
- ICryptoTransform cTransform = tdes.CreateEncryptor();
- byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
- return Convert.ToBase64String(resultArray, 0, resultArray.Length);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement