public static string DecodePassword(string password, EPasswordFormat passwordFormat, string passwordSalt) { var retval = string.Empty; if (passwordFormat == EPasswordFormat.Clear) { retval = password; } else if (passwordFormat == EPasswordFormat.Hashed) { throw new Exception("can not decode hashed password"); } else if (passwordFormat == EPasswordFormat.Encrypted) { var encryptor = new DESEncryptor { InputString = password, DecryptKey = passwordSalt }; encryptor.DesDecrypt(); retval = encryptor.OutString; } return(retval); }
internal static string DecryptTransString(string sValue) { DESEncryptor Mydes = new DESEncryptor(); Mydes.DecryptKey = DateTime.Now.ToString("yyyy-MM-dd"); Mydes.InputString = sValue; Mydes.DesDecrypt(); return Mydes.OutString; }
internal static string DecryptStorageString(string sKey, string sValue) { DESEncryptor Mydes = new DESEncryptor(); Mydes.DecryptKey = sKey; Mydes.InputString = sValue; Mydes.DesDecrypt(); return Mydes.OutString; }
internal static string DecryptStorageString(string sKey, string sValue) { DESEncryptor Mydes = new DESEncryptor(); Mydes.DecryptKey = sKey; Mydes.InputString = sValue; Mydes.DesDecrypt(); return(Mydes.OutString); }
internal static string DecryptTransString(string sValue) { DESEncryptor Mydes = new DESEncryptor(); Mydes.DecryptKey = DateTime.Now.ToString("yyyy-MM-dd"); Mydes.InputString = sValue; Mydes.DesDecrypt(); return(Mydes.OutString); }
/// <summary> /// 解密字符串 /// </summary> /// <param name="strCrypto">密文</param> /// <returns>明文</returns> public static string Decrypt(string strCrypto) { //return Decrypt(strCrypto,ENCRYPT_KEY + ENCRYPT_KEY); DESEncryptor dese = new DESEncryptor(); dese.InputString = strCrypto; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); return(dese.OutString); }
static public void desConstring(string strpath) { string strdes = ""; if (strDesFlag == "0") { XmlDocument doc = new XmlDocument(); doc.Load(strpath + @"\CMSM.exe.config"); XmlNode keyNode = null; DESEncryptor dese = new DESEncryptor(); dese.InputString = ConString; dese.EncryptKey = "cmsmyykx"; dese.DesEncrypt(); strdes = dese.OutString; dese = null; keyNode = doc.SelectSingleNode("/configuration/appSettings/add[@key='DBAMSCM']"); keyNode.Attributes["value"].Value = strdes; dese = new DESEncryptor(); dese.InputString = CenterConString; dese.EncryptKey = "cmsmyykx"; dese.DesEncrypt(); strdes = dese.OutString; dese = null; keyNode = doc.SelectSingleNode("/configuration/appSettings/add[@key='DBAMSCMCenter']"); keyNode.Attributes["value"].Value = strdes; keyNode = doc.SelectSingleNode("/configuration/appSettings/add[@key='DFLAG']"); keyNode.Attributes["value"].Value = "1"; doc.Save(strpath + @"\CMSM.exe.config"); } else { DESEncryptor dese = new DESEncryptor(); dese.InputString = ConString; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); strdes = dese.OutString; dese = null; ConString = strdes; dese = new DESEncryptor(); dese.InputString = CenterConString; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); strdes = dese.OutString; dese = null; CenterConString = strdes; } }
public static string Decrypt(string inputString) { if (string.IsNullOrEmpty(inputString)) { return(string.Empty); } var encryptor = new DESEncryptor { InputString = inputString, DecryptKey = "TgQQk42O" }; encryptor.DesDecrypt(); return(encryptor.OutString); }
public static string DecryptStringBySecretKey(string inputString) { if (string.IsNullOrEmpty(inputString)) { return(string.Empty); } inputString = inputString.Replace("0add0", "+").Replace("0equals0", "=").Replace("0and0", "&").Replace("0question0", "?").Replace("0quote0", "'").Replace("0slash0", "/"); var encryptor = new DESEncryptor { InputString = inputString, DecryptKey = FileConfigManager.Instance.SecretKey }; encryptor.DesDecrypt(); return(encryptor.OutString); }
private AutoResetEvent _StopEvent; //线程暂停时件 // private enum SyncPlan:string {"LocalToCenter","LoadCenter","CenterToLocal"}; #endregion #region 构造函数 public frmSync() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); // strDBCenterCon="server=127.0.0.1;uid=sa;pwd=sa;database=AMSCMCenter";//测试用 // strDBClientCon="server=127.0.0.1;uid=sa;pwd=sa;database=AMSCM_DongLai";//测试用 strDBCenterCon = ConfigAdapter.GetConfigNote("DBCenter"); strDBClientCon = ConfigAdapter.GetConfigNote("DBAMSCM"); string strdes = ""; string strDesFlag = ConfigAdapter.GetConfigNote("DFLAG"); if (strDesFlag == "1") { DESEncryptor dese = new DESEncryptor(); dese.InputString = strDBClientCon; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); strdes = dese.OutString; dese = null; strDBClientCon = strdes; dese = new DESEncryptor(); dese.InputString = strDBCenterCon; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); strdes = dese.OutString; dese = null; strDBCenterCon = strdes; } conCenter = new SqlConnection(strDBCenterCon); conClient = new SqlConnection(strDBClientCon); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // }
private AutoResetEvent _StopEvent; //线程暂停时件 #endregion #region 构造函数 public frmSync() { // // Windows 窗体设计器支持所必需的 // InitializeComponent(); strDBCenterCon = ConfigAdapter.GetConfigNote("appsettings", "DBCenter"); strDBClientCon = ConfigAdapter.GetConfigNote("connectionstrings", "DBAMSCM", "name", "connectionString"); string strdes = ""; string strDesFlag = ConfigAdapter.GetConfigNote("appsettings", "DFLAG"); if (strDesFlag == "1") { DESEncryptor dese = new DESEncryptor(); dese.InputString = strDBClientCon; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); strdes = dese.OutString; dese = null; strDBClientCon = strdes; dese = new DESEncryptor(); dese.InputString = strDBCenterCon; dese.DecryptKey = "cmsmyykx"; dese.DesDecrypt(); strdes = dese.OutString; dese = null; strDBCenterCon = strdes; } conCenter = new SqlConnection(strDBCenterCon); conClient = new SqlConnection(strDBClientCon); // // TODO: 在 InitializeComponent 调用后添加任何构造函数代码 // }
private void button4_Click(object sender, System.EventArgs e) { string cpuInfo = ""; string strMyName = ""; ManagementClass cimobject = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = cimobject.GetInstances(); strMyName = Dns.GetHostName(); foreach (ManagementObject mo in moc) { cpuInfo = mo.Properties["ProcessorId"].Value.ToString(); } string str0 = cpuInfo; strMyName += cpuInfo.Substring(0, 5); DESEncryptor dese = new DESEncryptor(); //dese.InputString=str0; dese.InputString = strMyName; dese.EncryptKey = "lhgynkm0"; dese.DesEncrypt(); string miWen = dese.OutString; WL(miWen); dese = null; textBox6.Text = miWen; DESEncryptor dese1 = new DESEncryptor(); dese1.InputString = miWen; dese1.DecryptKey = "lhgynkm0"; dese1.DesDecrypt(); string mingWen = dese1.OutString; WL(mingWen); dese1 = null; textBox7.Text = mingWen; }
public void TurnOnOffWorker(int workId) { BaseWorkers worker = NewObject <BaseWorkers>().getmodel(workId) as BaseWorkers; if (worker.DelFlag == -1)//新建的启用 { //判读注册码是否正确 string regkey = worker.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { //新建机构,增加用户、关联科室、关联角色 oleDb.WorkId = worker.WorkId; BaseEmployee _currEmp = NewObject <BaseEmployee>(); BaseUser _currUser = NewObject <BaseUser>(); List <BaseGroup> _grouplist = NewObject <BaseGroup>().getlist <BaseGroup>(); List <BaseDept> _deptlist = NewObject <BaseDept>().getlist <BaseDept>(); _currUser.IsAdmin = 1; ((IfrmAddUser)iBaseView["frmAddUser"]).loadAddUserView(_currEmp, -1, _currUser, _grouplist, _deptlist, null, null); (iBaseView["frmAddUser"] as Form).Text = "设置默认超级用户"; (iBaseView["frmAddUser"] as Form).ShowDialog(); if ((iBaseView["frmAddUser"] as DialogForm).IsOk) { //修改状态为0 worker.DelFlag = 0; worker.save(); MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } oleDb.WorkId = LoginUserInfo.WorkId; } else { MessageBoxEx.Show("机构注册码不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else if (worker.DelFlag == 1)//禁用的启用 { //判读注册码是否正确 string regkey = worker.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { //修改状态为0 worker.DelFlag = 0; worker.save(); MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBoxEx.Show("机构注册码不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else//禁用 { //修改状态为1 worker.DelFlag = 1; worker.save(); MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } frmWorker.currWorker = worker; }
public void UserLogin() { User user = NewObject <User>(); bool islogin = user.UserLogin(frmlogin.usercode, frmlogin.password); if (islogin) { BaseUser EbaseUser = user.GetUser(frmlogin.usercode); SysLoginRight right = new SysLoginRight(); right.UserId = EbaseUser.UserId; right.EmpId = EbaseUser.EmpId; right.WorkId = EbaseUser.WorkId; Dept dept = NewObject <Dept>(); BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId); if (EbaseDept != null) { right.DeptId = EbaseDept.DeptId; right.DeptName = EbaseDept.Name; } BaseEmployee EbaseEmp = (BaseEmployee)NewObject <BaseEmployee>().getmodel(EbaseUser.EmpId); right.EmpName = EbaseEmp.Name; BaseWorkers EbaseWork = (BaseWorkers)NewObject <BaseWorkers>().getmodel(EbaseUser.WorkId); right.WorkName = EbaseWork.WorkName; if (EbaseWork.DelFlag == 0) { string regkey = EbaseWork.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { AppGlobal.cache.Add("RoleUser", right); //调用单点登录 //Guid TokenKey; //EFWCoreLib.CoreFrame.SSO.SsoHelper.SignIn(right.UserId.ToString(), right.EmpName, out TokenKey); //AppGlobal.cache.Add("TokenKey", TokenKey); frmmain.UserName = right.EmpName; frmmain.DeptName = right.DeptName; frmmain.WorkName = right.WorkName; frmmain.modules = NewObject <Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList(); frmmain.menus = NewObject <WinMainUIFrame.ObjectModel.RightManager.Menu>().GetMenuList(right.UserId); frmmain.depts = NewObject <Dept>().GetHaveDept(right.EmpId); frmmain.showSysMenu(); ShowWeclomeForm(); ((System.Windows.Forms.Form)frmmain).ShowIcon = true; ((System.Windows.Forms.Form)frmmain).Icon = System.Drawing.Icon.ExtractAssociatedIcon(EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"images\msn.ico"); ((System.Windows.Forms.Form)frmmain).Show(); AppGlobal.winfromMain.MainForm = (System.Windows.Forms.Form)frmmain; //InitMessageForm();//? //登录完成后执行扩展的插件方法 string val = AppPluginManage.getbaseinfoDataValue(_pluginName, "LoginCompleted"); if (val != null && val.Split('@').Length == 3) { string pluginName = val.Split('@')[0]; string controllerName = val.Split('@')[1]; string methodName = val.Split('@')[2]; InvokeController(pluginName, controllerName, methodName, right); } CustomConfigManager.xmlDoc = null; } else { throw new Exception("登录用户的当前机构注册码不正确!"); } } else { throw new Exception("登录用户的当前机构还未启用!"); } } else { throw new Exception("输入的用户名密码不正确!"); } }
public string UserLogin() { //UseDb("SQL20052"); //string strsql = @"select count(*) from appcenter"; //object o = oleDb.GetDataResult(strsql); //UseDb(); string usercode = ToArray(ParamJsonData)[0].ToString(); string password = ToArray(ParamJsonData)[1].ToString(); User user = NewObject <User>(); bool islogin = user.UserLogin(usercode, password); if (islogin) { BaseUser EbaseUser = user.GetUser(usercode); SysLoginRight right = new SysLoginRight(); right.UserId = EbaseUser.UserId; right.EmpId = EbaseUser.EmpId; right.WorkId = EbaseUser.WorkId; Dept dept = NewObject <Dept>(); BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId); if (EbaseDept != null) { right.DeptId = EbaseDept.DeptId; right.DeptName = EbaseDept.Name; } BaseEmployee EbaseEmp = (BaseEmployee)NewObject <BaseEmployee>().getmodel(EbaseUser.EmpId); right.EmpName = EbaseEmp.Name; BaseWorkers EbaseWork = (BaseWorkers)NewObject <BaseWorkers>().getmodel(EbaseUser.WorkId); right.WorkName = EbaseWork.WorkName; if (EbaseWork.DelFlag == 0) { string regkey = EbaseWork.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { ClientInfo.LoginRight = right;//缓存登录用户信息 Object[] retObjs = new Object[] { right.EmpName, right.DeptName, right.WorkName , NewObject <Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList() , NewObject <Menu>().GetMenuList(right.UserId) , NewObject <Dept>().GetHaveDept(right.EmpId) , right }; return(ToJson(retObjs)); } else { throw new Exception("登录用户的当前机构注册码不正确!"); } } else { throw new Exception("登录用户的当前机构还未启用!"); } } else { throw new Exception("输入的用户名密码不正确!"); } }
//执行服务核心方法 private static string ExecuteService(string plugin, string controller, string method, string jsondata, HeaderParameter para) { string retJson = null; try { #region 执行插件控制器的核心算法 object[] paramValue = null;//jsondata? ServiceResponseData retObj = null; //先解密再解压 string _jsondata = jsondata; //解密参数 if (para.isencryptionjson) { DESEncryptor des = new DESEncryptor(); des.InputString = _jsondata; des.DesDecrypt(); _jsondata = des.OutString; } //解压参数 if (para.iscompressjson) { _jsondata = ZipComporessor.Decompress(_jsondata); } ClientRequestData requestData = new ClientRequestData(para.iscompressjson, para.isencryptionjson, para.serializetype); requestData.SetJsonData(_jsondata); requestData.LoginRight = para.LoginRight; //获取插件服务 EFWCoreLib.CoreFrame.Plugin.ModulePlugin moduleplugin = CoreFrame.Init.AppPluginManage.PluginDic[plugin]; retObj = (ServiceResponseData)moduleplugin.WcfServerExecuteMethod(controller, method, paramValue, requestData); if (retObj != null) { retJson = retObj.GetJsonData(); } else { retObj = new ServiceResponseData(); retObj.Iscompressjson = para.iscompressjson; retObj.Isencryptionjson = para.isencryptionjson; retObj.Serializetype = para.serializetype; retJson = retObj.GetJsonData(); } retJson = "{\"flag\":0,\"msg\":" + "\"\"" + ",\"data\":" + retJson + "}"; //先压缩再加密 //压缩结果 if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } //加密结果 if (para.isencryptionjson) { DESEncryptor des = new DESEncryptor(); des.InputString = retJson; des.DesEncrypt(); retJson = des.OutString; } #endregion return(retJson); } catch (Exception err) { throw err; } }
public void Login() { try { string strUsertitle = FormData["txtUserName"]; string strPassWord = FormData["txtUserPWD"]; string strIP = FormData["txtUserIP"]; string strMac = FormData["txtMac"]; User user = NewObject <User>(); bool islogin = user.UserLogin(strUsertitle, strPassWord); if (islogin) { BaseUser EbaseUser = user.GetUser(strUsertitle); SysLoginRight right = new SysLoginRight(); right.UserId = EbaseUser.UserId; right.EmpId = EbaseUser.EmpId; right.WorkId = EbaseUser.WorkId; oleDb.WorkId = EbaseUser.WorkId; Dept dept = NewObject <Dept>(); BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId); if (EbaseDept != null) { right.DeptId = EbaseDept.DeptId; right.DeptName = EbaseDept.Name; } BaseEmployee EbaseEmp = (BaseEmployee)NewObject <BaseEmployee>().getmodel(EbaseUser.EmpId); right.EmpName = EbaseEmp.Name; BaseWorkers EbaseWork = (BaseWorkers)NewObject <BaseWorkers>().getmodel(EbaseUser.WorkId); right.WorkName = EbaseWork.WorkName; if (EbaseWork.DelFlag == 0) { string regkey = EbaseWork.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { if (PutOutData.ContainsKey("RoleUser")) { PutOutData.Remove("RoleUser"); } PutOutData.Add("RoleUser", right); if (PutOutData.ContainsKey("WorkId")) { PutOutData.Remove("WorkId"); } PutOutData.Add("WorkId", right.WorkId); DataTable ListModeules = ConvertExtend.ToDataTable(NewObject <Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList()); List <BaseMenu> listM = NewObject <Menu>().GetMenuList(right.UserId); //给菜单url后面绑定MenuId参数 for (int i = 0; i < listM.Count; i++) { listM[i].UrlName = ConvertExtend.UrlAddParams(listM[i].UrlName, "MenuId", listM[i].MenuId.ToString()); } DataTable ListMenus = ConvertExtend.ToDataTable(listM); DataTable ListDepts = ConvertExtend.ToDataTable(NewObject <Dept>().GetHaveDept(right.EmpId)); DataTable ListGroups = ConvertExtend.ToDataTable(NewObject <Group>().GetGroupList(right.UserId)); if (PutOutData.ContainsKey("ListModeules")) { PutOutData.Remove("ListModeules"); } PutOutData.Add("ListModeules", ListModeules); if (PutOutData.ContainsKey("ListMenus")) { PutOutData.Remove("ListMenus"); } PutOutData.Add("ListMenus", ListMenus); if (PutOutData.ContainsKey("ListDepts")) { PutOutData.Remove("ListDepts"); } PutOutData.Add("ListDepts", ListDepts); if (PutOutData.ContainsKey("ListGroups")) { PutOutData.Remove("ListGroups"); } PutOutData.Add("ListGroups", ListGroups); JsonResult = RetSuccess(""); } else { //throw new Exception("登录用户的当前机构注册码不正确!"); JsonResult = RetError("登录用户的当前机构注册码不正确!"); } } else { //throw new Exception("登录用户的当前机构还未启用!"); JsonResult = RetError("登录用户的当前机构还未启用!"); } } else { //throw new Exception("输入的用户名密码不正确!"); JsonResult = RetError("输入的用户名密码不正确!"); } //JsonResult = RetSuccess(""); } catch (Exception err) { //ZhyContainer.CreateException().HandleException(err, "HISPolicy"); JsonResult = RetError("登录失败,请联系系统管理员!" + err.Message); } }
public ServiceResponseData TurnOnOffWorker() { int workId = requestData.GetData <int>(0); BaseWorkers worker = NewObject <BaseWorkers>().getmodel(workId) as BaseWorkers; string msgText = ""; if (worker.DelFlag == -1)//新建的启用 { //判读注册码是否正确 string regkey = worker.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { //新建机构,增加用户、关联科室、关联角色 oleDb.WorkId = worker.WorkId; //修改状态为0 worker.DelFlag = 0; worker.save(); //MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); msgText = "操作成功!"; } else { msgText = "机构注册码不正确!"; } } else if (worker.DelFlag == 1)//禁用的启用 { //判读注册码是否正确 string regkey = worker.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { //修改状态为0 worker.DelFlag = 0; worker.save(); //MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); msgText = "操作成功!"; } else { //MessageBoxEx.Show("机构注册码不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); msgText = "机构注册码不正确!"; } } else//禁用 { //修改状态为1 worker.DelFlag = 1; worker.save(); //MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); msgText = "操作成功!"; } responseData.AddData(worker); responseData.AddData(msgText); return(responseData); }
public ServiceResponseData UserLogin() { string usercode = requestData.GetData <string>(0); string password = requestData.GetData <string>(1); User user = NewObject <User>(); bool islogin = user.UserLogin(usercode, password); if (islogin) { BaseUser EbaseUser = user.GetUser(usercode); SysLoginRight right = new SysLoginRight(); right.UserId = EbaseUser.UserId; right.EmpId = EbaseUser.EmpId; right.WorkId = EbaseUser.WorkId; Dept dept = NewObject <Dept>(); BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId); if (EbaseDept != null) { right.DeptId = EbaseDept.DeptId; right.DeptName = EbaseDept.Name; } BaseEmployee EbaseEmp = (BaseEmployee)NewObject <BaseEmployee>().getmodel(EbaseUser.EmpId); right.EmpName = EbaseEmp.Name; BaseWorkers EbaseWork = (BaseWorkers)NewObject <BaseWorkers>().getmodel(EbaseUser.WorkId); right.WorkName = EbaseWork.WorkName; if (EbaseWork.DelFlag == 0) { string regkey = EbaseWork.RegKey; DESEncryptor des = new DESEncryptor(); des.InputString = regkey; des.DesDecrypt(); string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' }); if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now) { //ClientInfo.LoginRight = right;//缓存登录用户信息 //单点登录注册 Guid token = Guid.Empty; SsoHelper.SignIn(usercode, new UserInfo() { UserId = usercode, UserName = right.EmpName, DeptName = right.DeptName, WorkName = right.WorkName }, out token); responseData.AddData(right.EmpName); responseData.AddData(right.DeptName); responseData.AddData(right.WorkName); responseData.AddData(NewObject <Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList()); responseData.AddData(NewObject <Menu>().GetMenuList(right.UserId)); responseData.AddData(NewObject <Dept>().GetHaveDept(right.EmpId)); responseData.AddData(right); return(responseData); } else { throw new Exception("登录用户的当前机构注册码不正确!"); } } else { throw new Exception("登录用户的当前机构还未启用!"); } } else { throw new Exception("输入的用户名密码不正确!"); } }
/// <summary> /// 向服务发送异步请求 /// 客户端建议不要用多线程,都采用异步请求方式 /// </summary> /// <param name="controller">插件名@控制器名称</param> /// <param name="method">方法名称</param> /// <param name="jsondata">数据</param> /// <returns>返回Json数据</returns> public IAsyncResult RequestAsync(string controller, string method, Action <ClientRequestData> requestAction, Action <ServiceResponseData> action) { if (clientObj == null) { throw new Exception("还没有创建连接!"); } try { ClientRequestData requestData = new ClientRequestData(IsCompressJson, IsEncryptionJson, serializeType); if (requestAction != null) { requestAction(requestData); } string jsondata = requestData.GetJsonData(); //获取序列化的请求数据 if (requestData.Iscompressjson) //开启压缩 { jsondata = ZipComporessor.Compress(jsondata); //压缩传入参数 } if (requestData.Isencryptionjson) //开启加密 { DESEncryptor des = new DESEncryptor(); des.InputString = jsondata; des.DesEncrypt(); jsondata = des.OutString; } DuplexBaseServiceClient _wcfService = clientObj.WcfService; IAsyncResult result = null; AddMessageHeader(_wcfService.InnerDuplexChannel as IContextChannel, "", requestData.Iscompressjson, requestData.Isencryptionjson, requestData.Serializetype, requestData.LoginRight, (() => { AsyncCallback callback = delegate(IAsyncResult r) { string retJson = _wcfService.EndProcessRequest(r); if (requestData.Isencryptionjson)//解密结果 { DESEncryptor des = new DESEncryptor(); des.InputString = retJson; des.DesDecrypt(); retJson = des.OutString; } if (requestData.Iscompressjson)//解压结果 { retJson = ZipComporessor.Decompress(retJson); } string retData = ""; object Result = JsonConvert.DeserializeObject(retJson); int ret = Convert.ToInt32((((Newtonsoft.Json.Linq.JObject)Result)["flag"]).ToString()); string msg = (((Newtonsoft.Json.Linq.JObject)Result)["msg"]).ToString(); if (ret == 1) { throw new Exception(msg); } else { retData = ((Newtonsoft.Json.Linq.JObject)(Result))["data"].ToString(); } ServiceResponseData responsedata = new ServiceResponseData(); responsedata.Iscompressjson = requestData.Iscompressjson; responsedata.Isencryptionjson = requestData.Isencryptionjson; responsedata.Serializetype = requestData.Serializetype; responsedata.SetJsonData(retData); action(responsedata); }; result = _wcfService.BeginProcessRequest(clientObj.ClientID, clientObj.PluginName, controller, method, jsondata, callback, null); })); new Action(delegate() { if (IsHeartbeat == false)//如果没有启动心跳,则请求发送心跳 { ServerConfigRequestState = false; Heartbeat(); } }).BeginInvoke(null, null);//异步执行 return(result); } catch (Exception e) { ServerConfigRequestState = false; ReConnection(true);//连接服务主机失败,重连 throw new Exception(e.Message + "\n连接服务主机失败,请联系管理员!"); } }
public static string ReplyProcessRequest(string plugin, string controller, string method, string jsondata, HeaderParameter para) { string retJson = null; try { //显示调试信息 if (WcfGlobal.IsDebug == true) { ShowHostMsg(Color.Black, DateTime.Now, "客户端[本地回调]正在执行:" + controller + "." + method + "(" + jsondata + ")"); } begintime(); #region 执行插件控制器的核心算法 object[] paramValue = null;//jsondata? ServiceResponseData retObj = null; LocalPlugin localPlugin = RemotePluginManage.GetLocalPlugin(); if (string.IsNullOrEmpty(para.replyidentify) || localPlugin.ServerIdentify == para.replyidentify) { if (localPlugin.PluginDic.ContainsKey(plugin) == true) { //先解密再解压 string _jsondata = jsondata; //解密参数 if (para.isencryptionjson) { DESEncryptor des = new DESEncryptor(); des.InputString = _jsondata; des.DesDecrypt(); _jsondata = des.OutString; } //解压参数 if (para.iscompressjson) { _jsondata = ZipComporessor.Decompress(_jsondata); } ClientRequestData requestData = new ClientRequestData(para.iscompressjson, para.isencryptionjson, para.serializetype); requestData.SetJsonData(_jsondata); requestData.LoginRight = para.LoginRight; EFWCoreLib.CoreFrame.Plugin.ModulePlugin moduleplugin = localPlugin.PluginDic[plugin]; retObj = (ServiceResponseData)moduleplugin.WcfServerExecuteMethod(controller, method, paramValue, requestData); if (retObj != null) { retJson = retObj.GetJsonData(); } else { retObj = new ServiceResponseData(); retObj.Iscompressjson = para.iscompressjson; retObj.Isencryptionjson = para.isencryptionjson; retObj.Serializetype = para.serializetype; retJson = retObj.GetJsonData(); } retJson = "{\"flag\":0,\"msg\":" + "\"\"" + ",\"data\":" + retJson + "}"; //先压缩再加密 //压缩结果 if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } //加密结果 if (para.isencryptionjson) { DESEncryptor des = new DESEncryptor(); des.InputString = retJson; des.DesEncrypt(); retJson = des.OutString; } } else { throw new Exception("本地插件找不到指定的插件"); } } else//本地插件找不到,就执行远程插件 { if (RemotePluginManage.GetRemotePlugin().FindIndex(x => x.ServerIdentify == para.replyidentify) > -1) { RemotePlugin rp = RemotePluginManage.GetRemotePlugin().Find(x => x.ServerIdentify == para.replyidentify); string[] ps = rp.plugin; if (ps.ToList().FindIndex(x => x == plugin) > -1) { retJson = rp.callback.ReplyProcessRequest(para, plugin, controller, method, jsondata); } else { throw new Exception("远程插件找不到指定的插件"); } } else { throw new Exception("远程插件找不到指定的回调中间件"); } } #endregion //System.Threading.Thread.Sleep(20000);//测试并发问题,此处也没有问题 double outtime = endtime(); //记录超时的方法 if (ClientManage.IsOverTime == true) { if (outtime > Convert.ToDouble(ClientManage.OverTime * 1000)) { WriterOverTimeLog(outtime, controller + "." + method + "(" + jsondata + ")"); } } //显示调试信息 if (WcfGlobal.IsDebug == true) { ShowHostMsg(Color.Green, DateTime.Now, "客户端[本地回调]收到结果(耗时[" + outtime + "]):" + retJson); } if (retJson == null) { throw new Exception("请求的插件未获取到有效数据"); } return(retJson); } catch (Exception err) { //记录错误日志 //EFWCoreLib.CoreFrame.EntLib.ZhyContainer.CreateException().HandleException(err, "HISPolicy"); if (err.InnerException == null) { retJson = "{\"flag\":1,\"msg\":" + "\"" + err.Message + "\"" + "}"; if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } ShowHostMsg(Color.Red, DateTime.Now, "客户端[本地回调]执行失败:" + err.Message); return(retJson); } else { retJson = "{\"flag\":1,\"msg\":" + "\"" + err.InnerException.Message + "\"" + "}"; if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } ShowHostMsg(Color.Red, DateTime.Now, "客户端[本地回调]执行失败:" + err.InnerException.Message); return(retJson); } } }
public static string ProcessRequest(string clientId, string plugin, string controller, string method, string jsondata, HeaderParameter para) { string retJson = null; try { if (plugin == null || controller == null) { throw new Exception("插件名称或控制器名称不能为空!"); } if (ClientManage.ClientDic.ContainsKey(clientId) == false) { throw new Exception("客户端不存在,正在创建新的连接!"); } if (ClientManage.IsToken == true)//非调试模式下才验证 { //验证身份,创建连接的时候验证,请求不验证 IsAuth(plugin, controller, method, para.token); } //显示调试信息 if (WcfGlobal.IsDebug == true) { ShowHostMsg(Color.Black, DateTime.Now, "客户端[" + clientId + "]正在执行:" + controller + "." + method + "(" + jsondata + ")"); } begintime(); #region 执行插件控制器的核心算法 object[] paramValue = null;//jsondata? ServiceResponseData retObj = null; LocalPlugin localPlugin = RemotePluginManage.GetLocalPlugin(); if (string.IsNullOrEmpty(para.replyidentify) || localPlugin.ServerIdentify == para.replyidentify) { if (localPlugin.PluginDic.ContainsKey(plugin) == true) { //先解密再解压 string _jsondata = jsondata; //解密参数 if (para.isencryptionjson) { DESEncryptor des = new DESEncryptor(); des.InputString = _jsondata; des.DesDecrypt(); _jsondata = des.OutString; } //解压参数 if (para.iscompressjson) { _jsondata = ZipComporessor.Decompress(_jsondata); } ClientRequestData requestData = new ClientRequestData(para.iscompressjson, para.isencryptionjson, para.serializetype); requestData.SetJsonData(_jsondata); requestData.LoginRight = para.LoginRight; EFWCoreLib.CoreFrame.Plugin.ModulePlugin moduleplugin = localPlugin.PluginDic[plugin]; retObj = (ServiceResponseData)moduleplugin.WcfServerExecuteMethod(controller, method, paramValue, requestData); if (retObj != null) { retJson = retObj.GetJsonData(); } else { retObj = new ServiceResponseData(); retObj.Iscompressjson = para.iscompressjson; retObj.Isencryptionjson = para.isencryptionjson; retObj.Serializetype = para.serializetype; retJson = retObj.GetJsonData(); } retJson = "{\"flag\":0,\"msg\":" + "\"\"" + ",\"data\":" + retJson + "}"; //先压缩再加密 //压缩结果 if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } //加密结果 if (para.isencryptionjson) { DESEncryptor des = new DESEncryptor(); des.InputString = retJson; des.DesEncrypt(); retJson = des.OutString; } } else { throw new Exception("本地插件找不到指定的插件"); } } else//本地插件找不到,就执行远程插件 { if (RemotePluginManage.GetRemotePlugin().FindIndex(x => x.ServerIdentify == para.replyidentify) > -1) { RemotePlugin rp = RemotePluginManage.GetRemotePlugin().Find(x => x.ServerIdentify == para.replyidentify); string[] ps = rp.plugin; if (ps.ToList().FindIndex(x => x == plugin) > -1) { retJson = rp.callback.ReplyProcessRequest(para, plugin, controller, method, jsondata); } else { throw new Exception("远程插件找不到指定的插件"); } } else { throw new Exception("远程插件找不到指定的回调中间件"); } } #endregion double outtime = endtime(); //记录超时的方法 if (ClientManage.IsOverTime == true) { if (outtime > Convert.ToDouble(ClientManage.OverTime * 1000)) { WriterOverTimeLog(outtime, controller + "." + method + "(" + jsondata + ")"); } } //显示调试信息 if (WcfGlobal.IsDebug == true) { ShowHostMsg(Color.Green, DateTime.Now, "客户端[" + clientId + "]收到结果(耗时[" + outtime + "]):" + retJson); } //更新客户端信息 ClientManage.UpdateRequestClient(clientId, jsondata == null ? 0 : jsondata.Length, retJson == null ? 0 : retJson.Length); if (retJson == null) { throw new Exception("插件执行未返回有效数据"); } return(retJson); } catch (Exception err) { //记录错误日志 if (err.InnerException == null) { retJson = "{\"flag\":1,\"msg\":" + "\"" + err.Message + "\"" + "}"; if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } ShowHostMsg(Color.Red, DateTime.Now, "客户端[" + clientId + "]执行失败:" + err.Message); return(retJson); } else { retJson = "{\"flag\":1,\"msg\":" + "\"" + err.InnerException.Message + "\"" + "}"; if (para.iscompressjson) { retJson = ZipComporessor.Compress(retJson); } ShowHostMsg(Color.Red, DateTime.Now, "客户端[" + clientId + "]执行失败:" + err.InnerException.Message); return(retJson); } } }
/// <summary> /// 向服务发送请求 /// </summary> /// <param name="controller">控制器名称</param> /// <param name="method">方法名称</param> /// <param name="requestAction">数据</param> /// <returns>返回Json数据</returns> public ServiceResponseData Request(string controller, string method, Action <ClientRequestData> requestAction) { if (clientObj == null) { throw new Exception("还没有创建连接!"); } while (baseServiceClient.State == CommunicationState.Opening || clientObj.ClientID == null)//解决并发问题 { Thread.Sleep(400); } if (baseServiceClient.State == CommunicationState.Closed || baseServiceClient.State == CommunicationState.Faulted) { ReConnection(true);//连接服务主机失败,重连 } try { ClientRequestData requestData = new ClientRequestData(serverConfig.IsCompressJson, serverConfig.IsEncryptionJson, (SerializeType)serverConfig.SerializeType); if (requestAction != null) { requestAction(requestData); } string jsondata = requestData.GetJsonData(); //获取序列化的请求数据 if (requestData.Iscompressjson) //开启压缩 { jsondata = ZipComporessor.Compress(jsondata); //压缩传入参数 } if (requestData.Isencryptionjson) //开启加密 { DESEncryptor des = new DESEncryptor(); des.InputString = jsondata; des.DesEncrypt(); jsondata = des.OutString; } string retJson = ""; #if ClientProxy BaseServiceClient _wcfService = clientObj.WcfService; AddMessageHeader(_wcfService.InnerChannel as IContextChannel, "", requestData.Iscompressjson, requestData.Isencryptionjson, requestData.Serializetype, requestData.LoginRight, (() => { retJson = _wcfService.ProcessRequest(clientObj.ClientID, clientObj.PluginName, controller, method, jsondata); })); #else DuplexBaseServiceClient _wcfService = clientObj.WcfService; AddMessageHeader(_wcfService.InnerDuplexChannel as IContextChannel, "", requestData.Iscompressjson, requestData.Isencryptionjson, requestData.Serializetype, requestData.LoginRight, (() => { retJson = _wcfService.ProcessRequest(clientObj.ClientID, clientObj.PluginName, controller, method, jsondata); })); #endif if (requestData.Isencryptionjson)//解密结果 { DESEncryptor des = new DESEncryptor(); des.InputString = retJson; des.DesDecrypt(); retJson = des.OutString; } if (requestData.Iscompressjson)//解压结果 { retJson = ZipComporessor.Decompress(retJson); } new Action(delegate() { if (serverConfig.IsHeartbeat == false)//如果没有启动心跳,则请求发送心跳 { ServerConfigRequestState = false; Heartbeat(); } }).BeginInvoke(null, null);//异步执行 string retData = ""; object Result = JsonConvert.DeserializeObject(retJson); int ret = Convert.ToInt32((((Newtonsoft.Json.Linq.JObject)Result)["flag"]).ToString()); string msg = (((Newtonsoft.Json.Linq.JObject)Result)["msg"]).ToString(); if (ret == 1) { throw new Exception(msg); } else { retData = ((Newtonsoft.Json.Linq.JObject)(Result))["data"].ToString(); } ServiceResponseData responsedata = new ServiceResponseData(); responsedata.Iscompressjson = requestData.Iscompressjson; responsedata.Isencryptionjson = requestData.Isencryptionjson; responsedata.Serializetype = requestData.Serializetype; responsedata.SetJsonData(retData); return(responsedata); } catch (Exception e) { ServerConfigRequestState = false; //ReConnection(true);//连接服务主机失败,重连 //throw new Exception(e.Message + "\n连接服务主机失败,请联系管理员!"); throw new Exception(e.Message); } }
private void button4_Click(object sender, System.EventArgs e) { string str_SerialNumber; string str_nb1,str_nb2,str_nb3,str_nb4,str_nb5; string miWen1=textBox8.Text; if (textBox8.Text.Trim()=="") { MessageBox.Show("机器码不能为空"); return; } DESEncryptor dese2=new DESEncryptor(); dese2.InputString=miWen1; dese2.DecryptKey="lhgynkm0"; dese2.DesDecrypt(); string mingWen1=dese2.OutString; WL(mingWen1); dese2=null; str_SerialNumber=mingWen1; str_nb1=str_SerialNumber.Substring(2,1); str_nb2=str_SerialNumber.Substring(3,1); str_nb3=str_SerialNumber.Substring(4,1); str_nb4=str_SerialNumber.Substring(5,1); str_nb5=str_SerialNumber.Substring(6,1); label1.Text=mingWen1; int num; System.Random random; System.Collections.ArrayList array; random= new Random(); array=new System.Collections.ArrayList(); //保存第一个数到 array 对象 array.Add((int)random.Next(1000,9999)); int i,j,m=1; int n=0; string str0=null,str1; //循环取6不重复的数字 while(m<6) { n=n+1; num=random.Next(1000,9999); //判断是否已经存在 for(j=0;j<array.Count;j++) { //如果数列中的数字比随机数大,则该随机数为新数,插入到大数的前面 if (num<(int)array[j]) { array.Insert(j,num); m++; } //相等,则说明存在,跳出循环重新取数 if(num==(int)array[j]) break; } string str_num=num.ToString(); if (n==1) { textBox1.Text=str_nb5 + num.ToString(); str1=str_nb5 + num.ToString(); str0=str0+str1; } if (n==2) { string str_num20,str_num21; str_num20=str_num.Substring(0,1); str_num21=str_num.Substring(1,3); textBox2.Text=str_num20 + str_nb4 + str_num21; str1=str_num20 + str_nb4 + str_num21; str0=str0+"-"+str1; } if (n==3) { string str_num30,str_num31; str_num30=str_num.Substring(0,2); str_num31=str_num.Substring(2,2); textBox3.Text=str_num30 + str_nb3 + str_num31; str1=str_num30 + str_nb3 + str_num31; str0=str0+"-"+str1; } if (n==4) { string str_num40,str_num41; str_num40=str_num.Substring(0,3); str_num41=str_num.Substring(3,1); textBox4.Text=str_num40 + str_nb2 + str_num41; str1=str_num40 + str_nb2 + str_num41; str0=str0+"-"+str1; } if (n==5) { textBox5.Text=num.ToString() + str_nb1; str1=num.ToString() + str_nb1; str0=str0+"-"+str1; } //加密 DESEncryptor dese=new DESEncryptor(); dese.InputString ="ynkm"+ mingWen1 + "dxkj"; dese.EncryptKey="lhgynkm0"; dese.DesEncrypt(); string miWen=dese.OutString; WL(miWen); dese=null; textBox6.Text=miWen; //解密 DESEncryptor dese1=new DESEncryptor(); dese1.InputString=miWen; dese1.DecryptKey="lhgynkm0"; dese1.DesDecrypt(); string mingWen=dese1.OutString; WL(mingWen); dese1=null; textBox7.Text=mingWen; //所有的数都比随机数小…… if(j==array.Count ) { array.Add(num); m++; } } for(i=0;i<6;i++) { Console.Write(array[i].ToString() + " "); } Console.Read(); }