Mã hóa mật khẩu trong phần mềm Quản lý quán cafe với C# Winform | How Kteam
Không có gì tuyệt vời hơn là luyện tập với ví dụ thực tế. Nào cùng nhau thử thách bản thân với phần mềm: Quản lý quán cafe
Bạn nên có kỹ năng và kiến thức về :
- Lập trình Winform cơ bản
- Delegate – Event
- SQL server
- Xử lý ngày tháng năm
Code AccountDAO. cs
using QuanLyQuanCafe.DTO;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace QuanLyQuanCafe.DAO
{
public class AccountDAO
{
private static AccountDAO instance;
public static AccountDAO Instance
{
get { if (instance == null) instance = new AccountDAO(); return instance; }
private set { instance = value; }
}
private AccountDAO() { }
public bool Login(string userName, string passWord)
{
byte[] temp = ASCIIEncoding.ASCII.GetBytes(passWord);
byte[] hasData = new MD5CryptoServiceProvider().ComputeHash(temp);
string hasPass = "";
foreach (byte item in hasData)
{
hasPass += item;
}
//var list = hasData.ToString();
//list.Reverse();
string query = "USP_Login @userName, @passWord";
DataTable result = DataProvider.Instance.ExecuteQuery(query, new object[] { userName, hasPass /*list*/});
return result.Rows.Count > 0;
}
public bool UpdateAccount(string userName, string displayName, string pass, string newPass)
{
int result = DataProvider.Instance.ExecuteNonQuery("exec USP_UpdateAccount @userName, @displayName, @password, @newPassword", new object[]{userName, displayName, pass, newPass});
return result > 0;
}
public DataTable GetListAccount()
{
return DataProvider.Instance.ExecuteQuery("SELECT UserName, DisplayName, Type FROM dbo.Account");
}
public Account GetAccountByUserName(string userName)
{
DataTable data = DataProvider.Instance.ExecuteQuery("Select * from account where userName = '" + userName + "'");
foreach (DataRow item in data.Rows)
{
return new Account(item);
}
return null;
}
public bool InsertAccount(string name, string displayName, int type)
{
string query = string.Format("INSERT dbo.Account ( UserName, DisplayName, Type, password )VALUES ( N'{0}', N'{1}', {2}, N'{3}')", name, displayName, type, "1962026656160185351301320480154111117132155");
int result = DataProvider.Instance.ExecuteNonQuery(query);
return result > 0;
}
public bool UpdateAccount(string name, string displayName, int type)
{
string query = string.Format("UPDATE dbo.Account SET DisplayName = N'{1}', Type = {2} WHERE UserName = N'{0}'", name, displayName, type);
int result = DataProvider.Instance.ExecuteNonQuery(query);
return result > 0;
}
public bool DeleteAccount(string name)
{
string query = string.Format("Delete Account where UserName = N'{0}'", name);
int result = DataProvider.Instance.ExecuteNonQuery(query);
return result > 0;
}
public bool ResetPassword(string name)
{
string query = string.Format("update account set password = N'1962026656160185351301320480154111117132155' where UserName = N'{0}'", name);
int result = DataProvider.Instance.ExecuteNonQuery(query);
return result > 0;
}
}
}
Bài sau chúng ta sẽ cùng nhau tìm hiểu cách tạo phím tắt.
Đừng quên: “Luyện tập – Thử thách – Không ngại khó”
Tải xuống
Project
Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!
Thảo luận
Nếu bạn có bất kể khó khăn vất vả hay vướng mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI và ĐÁP trên thư viện Howkteam. com để nhận được sự tương hỗ từ hội đồng .
Source: https://thomaygiat.com
Category : Kỹ Thuật Số
Chuyển vùng quốc tế MobiFone và 4 điều cần biết – MobifoneGo
Muốn chuyển vùng quốc tế đối với thuê bao MobiFone thì có những cách nào? Đừng lo lắng, bài viết này của MobiFoneGo sẽ giúp…
Cách copy dữ liệu từ ổ cứng này sang ổ cứng khác
Bạn đang vướng mắc không biết làm thế nào để hoàn toàn có thể copy dữ liệu từ ổ cứng này sang ổ cứng khác…
Hướng dẫn xử lý dữ liệu từ máy chấm công bằng Excel
Hướng dẫn xử lý dữ liệu từ máy chấm công bằng Excel Xử lý dữ liệu từ máy chấm công là việc làm vô cùng…
Cách nhanh nhất để chuyển đổi từ Android sang iPhone 11 | https://thomaygiat.com
Bạn đã mua cho mình một chiếc iPhone 11 mới lạ vừa ra mắt, hoặc có thể bạn đã vung tiền và có một chiếc…
Giải pháp bảo mật thông tin trong các hệ cơ sở dữ liệu phổ biến hiện nay
Hiện nay, với sự phát triển mạnh mẽ của công nghệ 4.0 trong đó có internet và các thiết bị công nghệ số. Với các…
4 điều bạn cần lưu ý khi sao lưu dữ liệu trên máy tính
08/10/2020những chú ý khi tiến hành sao lưu dữ liệu trên máy tính trong bài viết dưới đây của máy tính An Phát để bạn…