Example #1
0
 /// <summary>
 /// 加密数据
 /// </summary>
 /// <param name="Text"></param>
 /// <param name="sKey"></param>
 /// <returns></returns>
 public static string Encrypt(string text, string sKey)
 {
     try
     {
         DESCryptoServiceProvider des = new DESCryptoServiceProvider();
         byte[] inputByteArray;
         inputByteArray = Encoding.Default.GetBytes(text);
         des.Key        = ASCIIEncoding.ASCII.GetBytes(HashEncrypt.GetMd5(sKey).Substring(0, 8));
         des.IV         = ASCIIEncoding.ASCII.GetBytes("12345678");
         System.IO.MemoryStream ms = new System.IO.MemoryStream();
         CryptoStream           cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
         cs.Write(inputByteArray, 0, inputByteArray.Length);
         cs.FlushFinalBlock();
         StringBuilder ret = new StringBuilder();
         foreach (byte b in ms.ToArray())
         {
             ret.AppendFormat("{0:X2}", b);
         }
         return(ret.ToString());
     }
     catch (Exception exc)
     {
         throw exc;
     }
 }
Example #2
0
 /// <summary>
 /// 解密数据
 /// </summary>
 /// <param name="Text"></param>
 /// <param name="sKey"></param>
 /// <returns></returns>
 public static string Decrypt(string text, string sKey)
 {
     try
     {
         DESCryptoServiceProvider des = new DESCryptoServiceProvider();
         int len;
         len = text.Length / 2;
         byte[] inputByteArray = new byte[len];
         int    x, i;
         for (x = 0; x < len; x++)
         {
             i = Convert.ToInt32(text.Substring(x * 2, 2), 16);
             inputByteArray[x] = (byte)i;
         }
         des.Key = ASCIIEncoding.ASCII.GetBytes(HashEncrypt.GetMd5(sKey).Substring(0, 8));
         des.IV  = ASCIIEncoding.ASCII.GetBytes("12345678");
         System.IO.MemoryStream ms = new System.IO.MemoryStream();
         CryptoStream           cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
         cs.Write(inputByteArray, 0, inputByteArray.Length);
         cs.FlushFinalBlock();
         return(Encoding.Default.GetString(ms.ToArray()));
     }
     catch
     {
         return(string.Empty);
     }
 }
Example #3
0
        /// <summary>
        ///  发送验证码
        /// </summary>
        /// <param name="regionId">短信节点</param>
        /// <param name="accessKeyId">APPID</param>
        /// <param name="secret">secret</param>
        /// <param name="phone">手机号码</param>
        /// <param name="signName">短信签名</param>
        /// <param name="templateCode">短信模板ID</param>
        /// <param name="templateParam">短信模板变量对应的实际值,JSON格式</param>
        /// <param name="isvType">短信供应商(默认阿里云)</param>
        /// <returns></returns>
        public WebResponseContent SendTemplateSms(string regionId, string accessKeyId, string secret, string phone, string signName, string templateCode, string templateParam, IsvType isvType = IsvType.Aliyun)
        {
            switch (isvType)
            {
            case IsvType.Aliyun:
                IClientProfile   profile = DefaultProfile.GetProfile(regionId, accessKeyId, secret);
                DefaultAcsClient client  = new DefaultAcsClient(profile);
                CommonRequest    request = new CommonRequest();
                request.Method  = MethodType.POST;
                request.Domain  = "dysmsapi.aliyuncs.com";
                request.Version = "2017-05-25";
                request.Action  = "SendSms";
                //短信
                // request.Protocol = ProtocolType.HTTP;
                request.AddQueryParameters("PhoneNumbers", phone);
                request.AddQueryParameters("SignName", signName);           //"广州悦发"
                request.AddQueryParameters("TemplateCode", templateCode);   //
                //request.AddQueryParameters("TemplateParam", "{ \"code \": \"" + content + "\" }");
                request.AddQueryParameters("TemplateParam", templateParam); //"TemplateParam", "{'code':'" + content + "'}"
                // request.Protocol = ProtocolType.HTTP;
                CommonResponse response = client.GetCommonResponse(request);
                //string code = System.Text.Encoding.Default.GetString(response.HttpResponse.Content).Split(',')[1];
                string _code = JsonConvert.DeserializeObject <AliSMSResult>(System.Text.Encoding.Default.GetString(response.HttpResponse.Content)).Code;

                if (_code == "OK")
                {
                    return(new WebResponseContent().OK("发送成功"));
                }
                else
                {
                    return(new WebResponseContent().Error(ExceptionMsg(_code)));
                }

            case IsvType.getui:
                string url      = "http://www.ztsms.cn/sendNSms.do";
                string userName = "******";
                string tkey     = System.DateTime.Now.ToString("yyyyMMddHHmmss");
                string other    = HashEncrypt.GetMd5("SMSKey");
                string password = HashEncrypt.GetMd5(other + tkey);

                string data = string.Format("?username={0}&password={1}&mobile={2}&content={3}&tkey={4}&productid=676767&xh=",
                                            userName, password, phone, templateParam, tkey);

                HttpHelper httpHelper = new HttpHelper(url + data);
                string     s          = httpHelper.SendGet();
                string     code       = s.Split(',')[0];
                if (code == "1")
                {
                    return(new WebResponseContent().OK("发送成功"));
                }
                else
                {
                    return(new WebResponseContent().Error(ExceptionMsg(code)));
                }

            default:
                return(new WebResponseContent().Error("发送失败"));
            }
        }