Esempio n. 1
0
 public void EncryptAndDecryptTest()
 {
     DesHelper des = new DesHelper();
     Assert.Equal(des.Decrypt(des.Encrypt("admin")), "admin");
     des = new DesHelper(true);
     Assert.Equal(des.Decrypt(des.Encrypt("admin")), "admin");
 }
Esempio n. 2
0
        /// <summary>
        /// 对称加密测试
        /// </summary>
        public static void DesTest()
        {
            string key     = @"aksjwj2w";
            string iv      = @"jahajhgj";
            string data    = @"Hello 中国,这是一段很神奇的代码";
            string encData = DesHelper.Encrypt(data, key, iv);
            string decData = DesHelper.Decrypt(encData, key, iv);

            Console.WriteLine("原文:{0}", data);
            Console.WriteLine("密文:{0}", encData);
            Console.WriteLine("解密:{0}", decData);
        }
Esempio n. 3
0
        /// <summary>
        /// 检查用户是存在
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <param name="password">密码</param>
        /// <returns>存在返回用户实体,否则返回NULL</returns>
        public UserInfoDto CheckUser(string userName, string password)
        {
            var user = _dbContext.Set <UserInfoDto>().FirstOrDefault(x => x.LogonCode == userName);

            if (user != null)
            {
                if (password != DesHelper.DecryptDES(user.Password, Consts.ENCRYPTKEY))
                {
                    return(null);
                }
            }
            return(user);
        }
Esempio n. 4
0
        public ActionResult Login(string username, string password)
        {
            var loginInfo = new LoginBll().Login(username, password);

            if (loginInfo != null && loginInfo.Id > 0)
            {
                string data = JsonConvert.SerializeObject(loginInfo);
                CookieHelper.SetCookie("Context_UserInfo", AESHelp.AESEncrypt(DesHelper.Encode(data, DesHelper.SECRET)));
                return(Redirect(ViewBag.RootNode + "/Home/Index"));
            }
            ModelState.AddModelError("error", "用户名或密码错误");
            return(View());
        }
        public ActionResult GetNewByTicket(string ticket, string clientId)
        {
            if (!VerifyNewParam("ticket", clientId, _signCheckService))
            {
                return(ErrMsg());
            }

            var weChatConfig = GetWechatConfig();
            var t            = EncryptionHelper.DecodeFrom64(ticket);
            var key          = DesHelper.Decrypt(t, CommonService.GetSysConfig("EncryptKey", ""));

            var openid = key.Split('|')[0];

            var strToken = GetToken();
            var userInfo = MailListApi.GetMember(strToken, openid);

            // var userInfo = UserApi.Info(weChatConfig.WeixinAppId, weChatConfig.WeixinCorpSecret, openid);


            //var userView = GetUserInfo((AddressBookMemberView)new AddressBookMemberView().ConvertAPIModel(userInfo));


            if (userInfo != null)
            {
                var strJson = Newtonsoft.Json.JsonConvert.SerializeObject(new
                {
                    message = "",
                    success = true,
                    item    = new
                    {
                        userid = userInfo.userid,
                        name   = userInfo.name,
                        avatar = userInfo.avatar,
                        status = userInfo.status,
                        email  = userInfo.email
                    }
                });

                return(Content(strJson, "application/json"));
            }
            else
            {
                log.Error("用户不存在:ticket:{0} userid:{1}", ticket, openid);

                return(Json(new
                {
                    message = "用户不存在!",
                    success = false
                }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 6
0
        public JsonResult Login(string username, string password, bool autoLogin = false)
        {
            if (string.IsNullOrEmpty(username))
            {
                return(Error("用户名不能为空。"));
            }

            if (string.IsNullOrEmpty(password))
            {
                return(Error("密码不能为空。"));
            }

            var user = _userService.GetByNameAsync(username.Trim());

            if (user == null)
            {
                return(Error("用户不存在。"));
            }

            if (Md5Helper.Encrypt(password) != user.Password.Trim())
            {
                return(Error("密码错误。"));
            }

            var loginUser = new LoginUser
            {
                UserId   = user.Id,
                UserName = user.UserName,
                NickName = user.NickName,
                Avatar   = user.Avatar,
            };

            CookieData.CurrentUser = loginUser;
            Session[WebAppSettings.SessionName] = loginUser;

            if (autoLogin)
            {
                string encryptStr = DesHelper.Encrypt(user.Id.ToString(), WebAppSettings.DesEncryptKey);
                CookieHelper.Set(WebAppSettings.CookieName, encryptStr, DateTime.Now.AddDays(3));
            }

            LogService.Write(new Instart.Models.Log
            {
                Title    = $"{user.UserName}登录系统",
                UserId   = user.Id,
                UserName = user.UserName,
                Type     = Instart.Models.Enums.EnumOperType.Other,
            });

            return(Success());
        }
Esempio n. 7
0
        /// <summary>
        /// 验证请求内容是否可以解密(des)
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public static string CheckRequestBodyForDecrypt(string requestBody)
        {
            var body = string.Empty;

            try
            {
                body = DesHelper.Decrypt(requestBody, TongChengConfig.UserKey);
            }
            catch
            {
                body = "";
            }
            return(body);
        }
Esempio n. 8
0
        public void DecryptByDesTest()
        {
            string   content     = "123456789";
            Encoding getByteFunc = Encoding.UTF8;
            string   rgbKey      = "abcdefgj";
            string   rgbIv       = "~!@#$%^&";

            var actual = DesHelper.EncryptByDes(content, getByteFunc, rgbKey, rgbIv);

            var target = DesHelper.DecryptByDes(actual, getByteFunc, rgbKey, rgbIv);
            var tar    = getByteFunc.GetString(target);

            Assert.AreEqual(content, tar);
        }
Esempio n. 9
0
        public TicketInfo UnProtect(string token)
        {
            token.CheckNotNullOrEmpty(nameof(token));

            var salt = DesHelper.Encrypt(_salt, _desKey);

            if (!token.EndsWith(salt))
            {
                return(null);
            }

            var json = token.Substring(0, token.Length - salt.Length);

            return(JsonHelper.FromJson <TicketInfo>(DesHelper.Decrypt(json, _desKey)));
        }
Esempio n. 10
0
        public void DecryptTest()
        {
            string key = "12345678";
            string actual = "TMR29YtnGPI=";
            DesHelper des = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.Equal(des.Decrypt(actual), "admin");
            Assert.Equal(DesHelper.Decrypt(actual, key), "admin");


            key = "!@#$%^&*QWERTYUI12345678";
            actual = "Qp4r67VJ8Z0=";
            des = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.Equal(des.Decrypt(actual), "admin");
            Assert.Equal(DesHelper.Decrypt(actual, key), "admin");
        }
Esempio n. 11
0
        public void DecryptTest()
        {
            string    key    = "12345678";
            string    actual = "TMR29YtnGPI=";
            DesHelper des    = new DesHelper(Encoding.UTF8.GetBytes(key));

            Assert.AreEqual(des.Decrypt(actual), "admin");
            Assert.AreEqual(DesHelper.Decrypt(actual, key), "admin");


            key    = "!@#$%^&*QWERTYUI12345678";
            actual = "Qp4r67VJ8Z0=";
            des    = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.AreEqual(des.Decrypt(actual), "admin");
            Assert.AreEqual(DesHelper.Decrypt(actual, key), "admin");
        }
 public static bool setPasswordConfigBO(PasswordConfigBO pBO)
 {
     try
     {
         InIHelper.WriteConfig(pBO.key, "isDefaultPassword", pBO.isDefaultPassword.ToString());
         InIHelper.WriteConfig(pBO.key, "isPasswordPrompt", pBO.isPasswordPrompt.ToString());
         InIHelper.WriteConfig(pBO.key, "passwordPrompt", pBO.passwordPrompt);
         InIHelper.WriteConfig(pBO.key, "enterDirectly", pBO.enterDirectly.ToString());
         InIHelper.WriteConfig(pBO.key, "defaultPassword", DesHelper.Encode(pBO.defaultPassword));
         return(true);
     }
     catch
     {
         return(false);
     }
 }
Esempio n. 13
0
        public static List <UserInfo> GetUsers()
        {
            List <UserInfo> list     = new List <UserInfo>();
            string          userData = string.Empty;

            using (StreamReader sr = new StreamReader(userDataFile))
            {
                userData = sr.ReadToEnd();
            }
            //解密
            if (userData != "")
            {
                userData = DesHelper.Decrypt(userData, Ticket12306.Resx.Strings.DesKey, Ticket12306.Resx.Strings.DesIV);
                list     = JsonHelper.FromJson <List <UserInfo> >(userData);
            }
            return(list);
        }
Esempio n. 14
0
        /// <summary>
        /// 成功返回
        /// </summary>
        /// <param name="code"></param>
        /// <param name="msg"></param>
        /// <returns></returns>
        public static string SuccessResult <T>(T responseBody)
        {
            var body = JsonSerializeHelper.ToJson(responseBody);

            body = DesHelper.Encrypt(body, TongChengConfig.UserKey);
            var responseData = new ResponseData
            {
                responseHead = new ResponseHead
                {
                    res_code  = ResultCode.Success,
                    res_msg   = "成功",
                    timestamp = Helper.GenerateTimeStamp()
                },
                responseBody = body
            };
            var json = JsonSerializeHelper.ToJson(responseData);

            return(Helper.Base64Encode(json));
        }
Esempio n. 15
0
        /// <summary>
        /// 跳转通过oauth获取ticket, 主要逻辑以及跳转在WeChatBaseController中完成
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="uri"></param>
        /// <returns></returns>
        public ActionResult GetTicket(int appId, string uri)
        {
            string UserId = ViewBag.WeChatUserID;

            if (string.IsNullOrEmpty(UserId))
            {
                return(Content("用户ID为空,请确定您已经关注企业号并且您的状态是在职!"));
            }

            log.Debug("API GetTicket Start  UserID:{0} Uri:{1} URL:{2}", UserId, uri, Request.Url);

            string enTicket = EncryptionHelper.ConvertBase64(DesHelper.Encrypt(UserId + "|" + DateTime.UtcNow.ToFileTime().ToString(), CommonService.GetSysConfig("EncryptKey", "")));

            string backUrl; //= EncryptionHelper.DecodeFrom64(uri) + enTicket;

            if (uri.IndexOf("_") >= 0)
            {
                var u  = uri.Split('_');
                var u1 = EncryptionHelper.DecodeFrom64(u[0]);

                backUrl = u1;
                // backUrl = (u1.IndexOf("?") >= 0 ? "&" : "?") + EncryptionHelper.DecodeFrom64(u[1]) + enTicket;
            }
            else
            {
                backUrl = EncryptionHelper.DecodeFrom64(uri);
            }

            string strRet = "";

            if (backUrl.IndexOf("ticket=") > 0)
            {
                strRet = backUrl + Server.UrlEncode(enTicket);
            }
            else
            {
                strRet = backUrl + (backUrl.IndexOf("?") >= 0 ? "&" : "?") + "ticket=" + Server.UrlEncode(enTicket);
            }

            log.Debug("API GetTicket End  backUrl:{0}", strRet);

            return(Redirect(strRet));
        }
Esempio n. 16
0
        /// <summary>
        /// 根据ticket获得员工信息
        /// </summary>
        /// <param name="ticket"></param>
        /// <returns></returns>
        public ActionResult GetByTicket(string ticket)
        {
            if (!VerifyParam("ticket"))
            {
                return(ErrMsg());
            }

            var weChatConfig = GetWechatConfig();
            var t            = EncryptionHelper.DecodeFrom64(ticket);
            var key          = DesHelper.Decrypt(t, CommonService.GetSysConfig("EncryptKey", ""));

            var openid = key.Split('|')[0];

            var userInfo = UserApi.Info(weChatConfig.WeixinAppId, weChatConfig.WeixinCorpSecret, openid);

            if (userInfo.errcode == Weixin.ReturnCode.请求成功)
            {
                var UserView = _BaseService.GetList <WechatMPUserView>(0, a => a.OpenId == userInfo.openid, null).FirstOrDefault();
                if (UserView == null)
                {
                    return(ErrMsg("simuid 没有找到!"));
                }

                return(Json(new
                {
                    message = "",
                    nickname = userInfo.nickname,
                    realName = "",
                    simuid = UserView.Id,
                    avatar = userInfo.headimgurl,
                    success = true,
                    hrcode = ""
                }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                return(Json(new
                {
                    message = userInfo.errmsg,
                    success = false
                }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 17
0
        public void EncryptTest()
        {
            string key = "12345678";
            string actual = "TMR29YtnGPI=";
            DesHelper des = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.Equal(des.Encrypt("admin"), actual);
            Assert.Equal(DesHelper.Encrypt("admin", key), actual);

            //弱密钥
            key = "123456781234567812345678";
            des = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.Throws<CryptographicException>(() => des.Encrypt("admin"));

            key = "!@#$%^&*QWERTYUI12345678";
            actual = "Qp4r67VJ8Z0=";
            des = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.Equal(des.Encrypt("admin"), actual);
            Assert.Equal(DesHelper.Encrypt("admin", key), actual);
        }
Esempio n. 18
0
        /// <summary>
        /// 重置用户Token有效期
        /// </summary>
        /// <param name="user">用户</param>
        /// <param name="loginDevice">登录设备</param>
        /// <param name="clientVersion">客户端版本</param>
        /// <returns></returns>
        public async Task <OperationResult> ResetToken(UserInfo user, LoginDevice loginDevice, string clientVersion)
        {
            Operator oper = new Operator()
            {
                UserId         = user.Id.ToString(),
                UserName       = user.SysUser.UserName,
                LoginDevice    = loginDevice,
                PhoneNo        = user.SysUser.PhoneNumber,
                ClientVersion  = clientVersion,
                ValidatePeriod = DateTime.Now.AddDays(30),//默认30天有效期
                UserDatas      = new Dictionary <string, object>()
            };
            string strAuth = oper.ToJsonString();

            user.Token = DesHelper.Encrypt(strAuth, OSharp.Core.Constants.BodeAuthDesKey);

            await UserInfoRepo.UpdateAsync(user);

            return(new OperationResult(OperationResultType.Success, "重置成功", user.Token));
        }
Esempio n. 19
0
        public void EncryptTest()
        {
            string    key    = "12345678";
            string    actual = "TMR29YtnGPI=";
            DesHelper des    = new DesHelper(Encoding.UTF8.GetBytes(key));

            Assert.AreEqual(des.Encrypt("admin"), actual);
            Assert.AreEqual(DesHelper.Encrypt("admin", key), actual);

            //弱密钥
            key = "123456781234567812345678";
            des = new DesHelper(Encoding.UTF8.GetBytes(key));
            ExceptionAssert.IsException <CryptographicException>(() => des.Encrypt("admin"));

            key    = "!@#$%^&*QWERTYUI12345678";
            actual = "Qp4r67VJ8Z0=";
            des    = new DesHelper(Encoding.UTF8.GetBytes(key));
            Assert.AreEqual(des.Encrypt("admin"), actual);
            Assert.AreEqual(DesHelper.Encrypt("admin", key), actual);
        }
Esempio n. 20
0
        /// <summary>
        /// 重置用户Token有效期
        /// </summary>
        /// <param name="user">用户</param>
        /// <param name="loginDevice">登录设备</param>
        /// <param name="clientVersion">客户端版本</param>
        /// <returns></returns>
        public async Task <OperationResult> ResetToken(UserInfo user, LoginDevice loginDevice, string clientVersion)
        {
            Operator oper = new Operator()
            {
                UserId         = user.Id.ToString(),
                UserName       = user.SysUser.UserName,
                LoginDevice    = loginDevice,
                PhoneNo        = user.SysUser.PhoneNumber,
                ClientVersion  = clientVersion,
                ValidatePeriod = DateTime.Now.AddDays(30)//默认30天有效期
            };
            string authDesKey = "bodeauth";
            string strAuth    = oper.ToJsonString();

            user.Token = DesHelper.Encrypt(strAuth, authDesKey);

            await UserInfoRepo.UpdateAsync(user);

            return(new OperationResult(OperationResultType.Success, "重置成功"));
        }
        public EnterpriseUser LoginForSession()
        {
            var userInfo = HttpContext.Current.Session[SessionKey.UserInfo];

            if (userInfo != null)
            {
                return((EnterpriseUser)userInfo);
            }
            HttpCookie cookie = HttpContext.Current.Request.Cookies[SessionKey.SaleUserLoginCookie];

            if (cookie != null && !string.IsNullOrEmpty(cookie.Value))
            {
                string   des    = DesHelper.Decrypt(cookie.Value, SessionKey.ManagerUserLoginCookieKey);
                string[] tmpArr = des.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);
                if (tmpArr.Length == 2)
                {
                    string userName = tmpArr[0];
                    string passWord = tmpArr[1];
                    //当前景区下未停用的售票员
                    var model = Get(userName, passWord);
                    if (model != null)
                    {
                        //var tbl_Scenic = Repository.First<Tbl_Scenic>(a => a.ScenicId == model.ScenicId);
                        //UserInfoDTO dto = new UserInfoDTO(model, (int)SystemType.Sale, tbl_Scenic.ScenicName);
                        //model.LastLoginTime = DateTime.Now;
                        //Repository.Update(model);
                        var dto = new EnterpriseUser
                        {
                            UserId   = model.EnterpriseUserId,
                            UserName = model.UserName,
                            RealName = model.RealName,
                            ScenicId = model.ScenicId
                        };
                        //设置Session
                        HttpContext.Current.Session[SessionKey.UserInfo] = dto;
                        return(dto);
                    }
                }
            }
            return(null);
        }
Esempio n. 22
0
        /// <summary>
        /// 重写身份验证方法
        /// </summary>
        /// <param name="httpContext"></param>
        /// <returns></returns>
        protected override bool IsAuthorized(HttpActionContext httpContext)
        {
            try
            {
                string token = httpContext.Request.Headers.GetValues(HttpHeaderNames.OSharpAuthenticationToken).FirstOrDefault();
                if (token.IsNullOrWhiteSpace())
                {
                    return(false);
                }

                var      strAuth = DesHelper.Decrypt(token, Constants.BodeAuthDesKey);
                Operator user    = strAuth.FromJsonString <Operator>() ?? new Operator();
                OSharpContext.Current.SetOperator(user);

                return(int.Parse(user.UserId) > 0 && user.ValidatePeriod > DateTime.Now);
            }
            catch
            {
                return(false);
            }
        }
        public static PasswordConfigBO getPasswordConfigBO()
        {
            PasswordConfigBO tmp = new PasswordConfigBO();

            tmp.isDefaultPassword = InIHelper.ReadConfig <bool>(tmp.key, "isDefaultPassword");
            string defaultPassword = InIHelper.ReadConfig <string>(tmp.key, "defaultPassword");

            if (defaultPassword != null && defaultPassword != "")
            {
                tmp.defaultPassword = DesHelper.Decode(defaultPassword);
            }
            tmp.isPasswordPrompt = InIHelper.ReadConfig <bool>(tmp.key, "isPasswordPrompt");
            string passwordPrompt = InIHelper.ReadConfig <string>(tmp.key, "passwordPrompt");

            if (passwordPrompt != null && passwordPrompt != "")
            {
                tmp.passwordPrompt = passwordPrompt;
            }
            tmp.enterDirectly = InIHelper.ReadConfig <bool>(tmp.key, "enterDirectly");
            return(tmp);
        }
Esempio n. 24
0
        protected override bool Authorize(string authenticationToken)
        {
            try
            {
                if (!string.IsNullOrWhiteSpace(authenticationToken))
                {
                    var      strAuth = DesHelper.Decrypt(authenticationToken, AuthDesKey);
                    Operator user    = strAuth.FromJsonString <Operator>() ?? new Operator();

                    if (!user.UserName.IsNullOrWhiteSpace() && _onlineUserStore.IsOnline(user.UserName))
                    {
                        OSharpContext.Current.SetOperator(user);
                        _onlineUserStore.ResetLastOperationTime(user.UserName);
                        return(true);
                    }
                }
                return(false);
            }
            catch
            {
                return(false);
            }
        }
Esempio n. 25
0
        /// <summary>
        /// 跳转通过oauth获取ticket, 主要逻辑以及跳转在WeChatBaseController中完成
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="uri"></param>
        /// <returns></returns>
        public ActionResult GetTicket(int appId, string uri)
        {
            string UserId = ViewBag.WeChatUserID;



            string enTicket = EncryptionHelper.ConvertBase64(DesHelper.Encrypt(UserId + "|" + DateTime.UtcNow.ToFileTime().ToString(), CommonService.GetSysConfig("EncryptKey", "901212345678901234567890")));

            string backUrl = "";

            if (uri.IndexOf("_") >= 0)
            {
                var u  = uri.Split('_');
                var u1 = EncryptionHelper.DecodeFrom64(u[0]);

                backUrl = u1;
                // backUrl = (u1.IndexOf("?") >= 0 ? "&" : "?") + EncryptionHelper.DecodeFrom64(u[1]) + enTicket;
            }
            else
            {
                backUrl = EncryptionHelper.DecodeFrom64(uri);
            }

            string strRet = "";

            if (backUrl.IndexOf("ticket=") > 0)
            {
                strRet = backUrl + Server.UrlEncode(enTicket);
            }
            else
            {
                strRet = backUrl + (backUrl.IndexOf("?") >= 0 ? "&" : "?") + "ticket=" + Server.UrlEncode(enTicket);
            }

            return(Redirect(strRet));
        }
Esempio n. 26
0
        public ActionResult Login(string username, string password, string checkcode)
        {
            var code = Session["ValidateCode"]?.ToString();

            if (string.IsNullOrEmpty(code) || !code.Equals(checkcode, StringComparison.CurrentCultureIgnoreCase))
            {
                ModelState.AddModelError("error", "验证码错误");
                Session["ValidateCode"] = null;
                return(View());
            }
            password = AesHelper.AesEncrypt(password);
            var loginInfo = _accountService.UserLogin(username, password);

            if (loginInfo != null && loginInfo.IsLogin)
            {
                string data = JsonConvert.SerializeObject(loginInfo);
                CookieHelper.SetCookie(StaticFileHelper.UserCookieStr, AesHelper.AesEncrypt(DesHelper.DesEnCode(data)));
                return(Redirect(ViewBag.RootNode + "/Home/WelCome"));
            }
            ModelState.AddModelError("error", "用户名或密码错误");
            return(View());
        }
Esempio n. 27
0
        /// <summary>
        /// 根据ticket获得员工信息
        /// </summary>
        /// <param name="ticket"></param>
        /// <returns></returns>
        public ActionResult GetByTicket(string ticket)
        {
            if (!VerifyParam("ticket"))
            {
                return(ErrMsg());
            }

            var weChatConfig = GetWechatConfig();
            var t            = EncryptionHelper.DecodeFrom64(ticket);
            var key          = DesHelper.Decrypt(t, CommonService.GetSysConfig("EncryptKey", ""));

            var openid = key.Split('|')[0];

            var userInfo = ((IAddressBookService)_BaseService).GetMemberByUserId(openid);

            // var userInfo = UserApi.Info(weChatConfig.WeixinAppId, weChatConfig.WeixinCorpSecret, openid);


            var userView = GetUserInfo((AddressBookMemberView) new AddressBookMemberView().ConvertAPIModel(userInfo));


            if (userInfo != null)
            {
                var strJson = Newtonsoft.Json.JsonConvert.SerializeObject(new
                {
                    message = "",
                    success = true,
                    item    = userView
                });

                return(Content(strJson, "application/json"));

                //return Json(new
                //{
                //    message = "",

                //    success = true,
                //    item= userView
                //    //item = new
                //    //{
                //    //    id = userInfo.Id,
                //    //    teamId = userInfo.AccountManageId,
                //    //    userId = userInfo.UserId,
                //    //    name = userInfo.UserName,
                //    //    position = userInfo.Position,
                //    //    mobile = userInfo.Mobile,
                //    //    gender = userInfo.Gender,
                //    //    avatar = userInfo.Avatar,
                //    //    extend1 = "",
                //    //    // telephone = userInfo.te,
                //    //    email = userInfo.Email,
                //    //    wxid = userInfo.WeiXinId,
                //    //    hrcode = userInfo.EmployeeNo,
                //    //    status = userInfo.Status,
                //    //    createTime = userInfo.CreateTime
                //    //},

                //}, JsonRequestBehavior.AllowGet);
            }
            else
            {
                log.Error("用户不存在:ticket:{0} userid:{1}", ticket, openid);

                return(Json(new
                {
                    message = "用户不存在!",
                    success = false
                }, JsonRequestBehavior.AllowGet));
            }
        }
Esempio n. 28
0
        public ActionResult DesTest()
        {
            var str = DesHelper.Encrypt("http://user.cczcrv.com/", "12345678");

            return(Content(str));
        }
Esempio n. 29
0
        public static string Run(string body, double total_fee, string authCode, string outTradeNo)
        {
            // 1固定参数
            PayData postmap = new PayData();    // 请求参数的map

            postmap.Put("rancode", Helper.GenerateRandom(5));
            postmap.Put("reqtime", DateTime.Now.ToString("yyyyMMddHHmmss"));
            postmap.Put("snNo", PayConfig.SnNo);
            //postmap.Put("merchantNo", PayConfig.MerchantNo);

            postmap.Put("terminalType", "OTHER");
            postmap.Put("outTradeNo ", outTradeNo);//外部接入系统订单号
            postmap.Put("amount ", total_fee);
            postmap.Put("authCode ", authCode);
            postmap.Put("casherNo ", "T001");//收银员编号
            postmap.Put("description", "OTHER");
            postmap.Put("orderTime", DateTime.Now.ToString("yyyyMMddHHmmss"));
            postmap.Put("systemCode", PayConfig.SystemCode);
            postmap.Put("version", PayConfig.Version);



            byte[] byteArray = System.Text.Encoding.Default.GetBytes(PayConfig.Key);


            byte[] bcdbyte = str2Bcd("B95EB858BAA4170731EDBB0D7661B39A34");
            byte[] keybyte = str2Bcd("1111222233334444");
            byte   ssss    = 0;

            byte[] ggg     = new byte[] { ssss };
            byte   borByte = 0;

            for (int i = 0; i < bcdbyte.Length - 1; i++)
            {
                if (i == 0)
                {
                    borByte = bcdbyte[i];
                }
                borByte ^= bcdbyte[i + 1];
            }
            byte[]        bor = new byte[] { borByte };
            StringBuilder sb  = new StringBuilder(bor.Length);
            String        sTemp;

            for (int i = 0; i < bor.Length; i++)
            {
                sTemp = String.Format("{0:X}", 0xFF & bor[i]);
                //sTemp = Integer.toHexString(0xFF & bor[i]);
                if (sTemp.Count() < 2)
                {
                    sb.Append(0);
                }
                sb.Append(sTemp.ToUpper());
            }
            var str = sb.ToString();

            var key = DesHelper.Decrypt(PayConfig.Key, str);



            // 2签名
            string sign = Helper.MakeSign(postmap.ToUrl(), key);

            postmap.Put("sign", sign);

            // 3请求、响应
            string rspStr = HttpService.Post(postmap.ToJson(), PayConfig.WebSite + "/merchantpay/trade/microorder?" + postmap.ToUrl());



            var response = JsonSerializeHelper.ToObject <ActivationResponse>(rspStr);

            if (response.ReturnCode == ResultCode.Success)
            {
                var data = JsonSerializeHelper.ToObject <ActivationDataResponse>(response.Data);
                //var key = DesHelper.Decrypt(data.Key, PayConfig.DefaultKey);
            }
            return(rspStr);
        }
Esempio n. 30
0
        /// <summary>
        /// 密码加密
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            try
            {
                AppAccountMgn saveItem = FormHelp.GetEntityByControls <AppAccountMgn>(this.panel1);
                if (!string.IsNullOrEmpty(appAccountMgn.MGNPWD))
                {
                    DialogResult dialogResult = MessageBox.Show("是否以原管理密码保存", "温馨提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                    if (dialogResult == DialogResult.OK)
                    {
                        saveItem.MGNPWD = appAccountMgn.MGNPWD;
                    }
                }

                VerifyMessage verifyMessage = VerifyUtil.Verify(saveItem);


                if (saveItem.JiaoyanPwd != saveItem.InputPwd)
                {
                    verifyMessage.ExistError = true;
                    verifyMessage.ErrorInfo += "\n两次输入密码不一致,请重新输入";
                }


                if (verifyMessage.ExistError)
                {
                    MessageBox.Show(verifyMessage.ErrorInfo, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                //string iv = saveItem.ACCOUNT.ToString().PadLeft(8, 'u');
                string enc = DesHelper.DESEncrypt(saveItem.InputPwd, key, iv);
                this.ENCPWD.Text = enc;                  //真实密码
                saveItem.ENCPWD  = enc;                  //真实密码

                saveItem.PSEUDOCODE  = Md5Util.Md5(enc); //掩码
                this.PSEUDOCODE.Text = saveItem.PSEUDOCODE;

                R r = appAccountMgnBLL.SaveOrUpdateBySelf(saveItem, null, false);

                if (r.Successful)
                {
                    string msg = saveItem.ID <= 0 ? "新增" : "修改";
                    MessageBox.Show($"{msg}成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    LoadData();

                    //更新列表页
                    if (this.Owner is AccoutEncFrmList)
                    {
                        ((AccoutEncFrmList)this.Owner).LoadData();
                    }
                    this.Hide();
                    this.Dispose(true);
                }
                else
                {
                    MessageBox.Show(r.ResultHint, "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception ex)
            {
                MessageHelper.ShowError(ex);
            }
        }
Esempio n. 31
0
 public static string DecryptDES(this string value)
 {
     return(DesHelper.Decrypt(value, null));
 }
Esempio n. 32
0
 public static string ToDES(this string value)
 {
     return(DesHelper.Encrypt(value, null));
 }
Esempio n. 33
0
 public void TestEncrypt()
 {
     Assert.IsNotNull(DesHelper.DES_Encryption("daniao"));
     Assert.AreEqual("daniao", DesHelper.DES_Decryption(DesHelper.DES_Encryption("daniao")));
 }