📄 accountsafetybll.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.IO;
using Y2T03.CourseScheduler.CourseModel;
using Y2T03.CourseScheduler.CourseDAL;
using Y2T03.CourseScheduler.DALFactory;
using Y2T03.CourseScheduler.IDAL;
namespace Y2T03.CourseScheduler.CourseBLL
{
/// <summary>
/// AccountSafetyBLL 的业务逻辑层
/// </summary>
public class AccountSafetyBLL
{
public AccountSafetyBLL()
{ }
#region 添加用户 (字符串经过 MD5 处理后再用 SHA1 进行处理)
/// <summary>
/// 添加用户
/// </summary>
/// <param name="account">用户对象</param>
/// <returns>true = 成功, false = 失败</returns>
public static bool Create(Account account)
{
string name = account.LoginName;
string password = account.Password;
if ( name.Length <= 50 && password.Length <= 50 )
{
if (AccountSafetyBLL.GetAccount(account.LoginName) == null)
{
byte[] bytes = StringToBytes(password); // 调用字符串转换为字节数组
byte[] md5 = toMD5(bytes); // 调用MD5处理
string md = BytesToString(md5); // 调用MD5处理结果转换为字符串
bytes = StringToBytes(md); // 调用字符串转换为字节数组
byte[] sha1 = toSHA1(bytes); // 调用SHA1处理
string sha = BytesToString(sha1); // 调用SHA1处理结果转换为字符串
account.Password = sha;
return DALFactory.DataAccess.GetAccountSafety().Create(account);
}
else
{
return false;
}
}
else
{
return false;
}
}
#endregion
#region 获取用户
/// <summary>
/// 获取用户
/// </summary>
/// <param name="loginName">用户名</param>
/// <returns>用户实体对象</returns>
public static Account GetAccount(string loginName)
{
return DALFactory.DataAccess.GetAccountSafety().GetAccount(loginName);
}
#endregion
#region 登陆判断 (字符串经过 MD5 处理后再用 SHA1 进行处理)
/// <summary>
/// 登陆判断
/// </summary>
/// <param name="loginName">用户名</param>
/// <param name="password">密码</param>
/// <returns>true = 成功, false = 失败</returns>
public static bool Login(string loginName, string password)
{
byte[] bytes = StringToBytes(password); // 调用字符串转换为字节数组
byte[] md5 = toMD5(bytes); // 调用MD5处理
string md = BytesToString(md5); // 调用MD5处理结果转换为字符串
bytes = StringToBytes(md); // 调用字符串转换为字节数组
byte[] sha1 = toSHA1(bytes); // 调用SHA1处理
string sha = BytesToString(sha1); // 调用SHA1处理结果转换为字符串
password = sha;
return DALFactory.DataAccess.GetAccountSafety().Login(loginName, password);
}
#endregion
#region 获取用户列表
/// <summary>
/// 获取用户列表
/// </summary>
/// <returns>用户实体对象列表</returns>
public static IList<Account> GetAccounts()
{
return DALFactory.DataAccess.GetAccountSafety().GetAccounts();
}
#endregion
#region 更新用户 (字符串经过 MD5 处理后再用 SHA1 进行处理)
/// <summary>
/// 更新用户
/// </summary>
/// <param name="account">用户实体对象</param>
/// <returns>true = 成功, false = 失败</returns>
public static bool Update(Account account)
{
string password = account.Password;
if ( password.Length <= 50 )
{
byte[] bytes = StringToBytes(password); // 调用字符串转换为字节数组
byte[] md5 = toMD5(bytes); // 调用MD5处理
string md = BytesToString(md5); // 调用MD5处理结果转换为字符串
bytes = StringToBytes(md); // 调用字符串转换为字节数组
byte[] sha1 = toSHA1(bytes); // 调用SHA1处理
string sha = BytesToString(sha1); // 调用SHA1处理结果转换为字符串
account.Password = sha;
return DALFactory.DataAccess.GetAccountSafety().Update(account);
}
else
{
return false;
}
}
#endregion
#region 删除用户
/// <summary>
/// 删除用户
/// </summary>
/// <param name="loginName">用户名</param>
/// <returns>true = 成功, false = 失败</returns>
public static bool Delete(string loginName)
{
if (loginName != "cdshidai")
{
return DALFactory.DataAccess.GetAccountSafety().Delete(loginName);
}
else
{
return false;
}
}
#endregion
#region 字符串转换为字节数组
/// <summary>
/// 字符串转换为字节数组
/// </summary>
/// <param name="message">字符串</param>
/// <returns>字节数组</returns>
static byte[] StringToBytes(string message)
{
int i;
byte[] bytes = new byte[message.Length];
for (i = 0; i < message.Length; i++)
{
bytes[i] = System.Convert.ToByte(message[i]);
}
return bytes;
}
#endregion
#region MD5处理
/// <summary>
/// MD5处理
/// </summary>
/// <param name="data">字节数组</param>
/// <returns>字节数组</returns>
static byte[] toMD5(byte[] data)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = md5.ComputeHash(data);
return result;
}
#endregion
#region SHA1处理
/// <summary>
/// SHA1处理
/// </summary>
/// <param name="data">字节数组</param>
/// <returns>字节数组</returns>
static byte[] toSHA1(byte[] data)
{
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] result = sha1.ComputeHash(data);
return result;
}
#endregion
#region MD5处理结果转换为字符串
/// <summary>
/// MD5处理结果转换为字符串
/// </summary>
/// <param name="bytes">字节数组</param>
/// <returns>字符串</returns>
static string BytesToString(byte[] bytes)
{
int i;
string result = "";
for (i = 0; i < bytes.Length; i++)
{
if (bytes[i] <= 0x0F)
{
result += "0" + bytes[i].ToString("X");
}
else
{
result += bytes[i].ToString("X");
}
}
return result;
}
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -