Example #1
0
        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);
        }
Example #2
0
 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;
 }
Example #3
0
        internal static string DecryptStorageString(string sKey, string sValue)
        {
            DESEncryptor Mydes = new DESEncryptor();
            Mydes.DecryptKey = sKey;
            Mydes.InputString = sValue;
            Mydes.DesDecrypt();

            return Mydes.OutString;
        }
Example #4
0
        internal static string DecryptStorageString(string sKey, string sValue)
        {
            DESEncryptor Mydes = new DESEncryptor();

            Mydes.DecryptKey  = sKey;
            Mydes.InputString = sValue;
            Mydes.DesDecrypt();

            return(Mydes.OutString);
        }
Example #5
0
        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);
        }
Example #6
0
        /// <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);
        }
Example #7
0
        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;
            }
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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 调用后添加任何构造函数代码
            //
        }
Example #11
0
        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 调用后添加任何构造函数代码
            //
        }
Example #12
0
        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;
        }
Example #13
0
        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("输入的用户名密码不正确!");
            }
        }
Example #16
0
        //执行服务核心方法
        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);
        }
Example #19
0
        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("输入的用户名密码不正确!");
            }
        }
Example #20
0
        /// <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连接服务主机失败,请联系管理员!");
            }
        }
Example #21
0
        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);
                }
            }
        }
Example #22
0
        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);
                }
            }
        }
Example #23
0
        /// <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);
            }
        }
Example #24
0
		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();
 
		}