using System.Data;
|
using System.Text;
|
using MES.Service.DB;
|
|
namespace MES.Service.service;
|
|
public class LoginService
|
{
|
public static SqlServerSQLHelper SQLHelper = new();
|
|
public DataTable login(string name, string pwd)
|
{
|
var sql =
|
string.Format(@"select * from CSFrameworkV5_System.dbo.tb_myuser where Account = '{0}'",
|
name);
|
var dataTable = SQLHelper.ExecuteQuery(sql);
|
if (dataTable.Rows.Count <= 0) throw new Exception("用户不存在");
|
|
var key = new KeyProviderRijndael("%SaFz$^p", "3aW%^&Fd");
|
|
var row = dataTable.Rows[0];
|
var db_password = row["Password"].ToString();
|
var enpassword = key.Encrypt(pwd);
|
if (!enpassword.Equals(db_password)) throw new Exception("用户名或者密码错误");
|
|
return dataTable;
|
}
|
|
public DataTable getUserMenu(string name)
|
{
|
var sql = string.Format(@"select BB004 PAGE_VIEW,BB005 PATH,'' ICOIMG from GS_BI_QXBB where bb001 = '{0}'", name);
|
|
return SQLHelper.ExecuteQuery(sql);
|
}
|
|
public int resetPassword(string newPwd, string name, string pwd)
|
{
|
login(name, pwd);
|
var passwordHash = encryptPass(newPwd);
|
var sql = string.Format(
|
@"update SYS_USER set FPASSWORD = '{0}' where FCODE = '{1}'",
|
passwordHash,
|
name);
|
return SQLHelper.ExecuteNonQuery(sql);
|
}
|
|
private string encryptPass(string str)
|
{
|
var b = Encoding.GetEncoding("iso-8859-1").GetBytes(str);
|
var temp = (byte[])b.Clone();
|
for (var i = 0; i < b.Length; i++) temp[i] = (byte)(b[i] ^ (8 + 18));
|
|
var result =
|
8 + Encoding.GetEncoding("iso-8859-1").GetString(temp);
|
return result;
|
}
|
|
|
private string ProPass(string src)
|
{
|
var result = "";
|
var first = int.Parse(src.Substring(0, 1));
|
var src_tem = src.Substring(1);
|
var b = Encoding.GetEncoding("iso-8859-1")
|
.GetBytes(src_tem);
|
var temp = (byte[])b.Clone();
|
for (var i = 0; i < b.Length; i++)
|
temp[i] = (byte)(temp[i] ^ (first + 18));
|
|
result = Encoding.GetEncoding("iso-8859-1")
|
.GetString(temp);
|
return result;
|
}
|
}
|