zoukankan      html  css  js  c++  java
  • 短信发送AZDG加密算法

    Username:用户名,采用AZDG加密方式进行加密

    Passwrod:密码,采用AZDG加密方式进行加密

    密钥为:chinagdn

          /// <summary>
          /// 短信发送AZDG加密算法
          /// </summary>
          /// <param name="txt">加密字符串</param>
          /// <param name="key">私有密钥</param>
          /// <returns></returns>
          public static string passport_encrypt(string txt, string key)
          {
              // 使用随机数产生 0~32000 的值并 MD5()
              Random rnd = new Random(100);
              int int_encrypt_key = rnd.Next(0, 32000);
              string encrypt_key = int_encrypt_key.ToString();
    
              int ctr = 0;
              string tmp = "";
              byte[] encodebyte = new byte[txt.Length];
              for (int i = 0; i < txt.Length; i++)
              {
                  ctr = ctr == encrypt_key.Length ? 0 : ctr;
    
                  char prefix = encrypt_key[ctr];
                  char left = txt[i];
                  char right = encrypt_key[ctr++];
    
                  encodebyte[i] = (byte)(left ^ right);
                  char[] block = new char[2];
                  block[0] = prefix;
                  block[1] = Convert.ToChar(encodebyte[i]);
                  tmp += new string(block);
              }
              //用base64编码
              string complicatedstring = passport_key(tmp, key);//先和key加一次密?
    
              byte[] inputbytes = System.Text.Encoding.Default.GetBytes(complicatedstring);
    
              string string_64 = Convert.ToBase64String(inputbytes, 0, inputbytes.Length);//再和随机key加密
    
    
              return string_64;
          }
          /// <summary>
          /// Passport 解密函数
          /// </summary>
          /// <param name="txt">加密后的字串</param>
          /// <param name="key">私有密匙(用于解密和加密)</param>
          /// <returns>字串经过私有密匙解密后的结果</returns>
          public static string passport_decrypt(string txt, string key)
          {
              byte[] array_64 = Convert.FromBase64String(txt);
              string txt_64 = System.Text.Encoding.Default.GetString(array_64);
              txt = passport_key(txt_64, key);
    
              string temp = "";
              byte[] encodebyte = new byte[txt.Length];
              for (int i = 0; i < txt.Length; i++)
              {
    
                  char left = txt[i];
                  char right = txt[++i];
                  encodebyte[i] = (byte)(left ^ right);
              }
              temp = System.Text.Encoding.Default.GetString(encodebyte);
              return temp;
          }
          /// <summary>
          /// Passport 密匙处理函数
          /// </summary>
          /// <param name="txt">待加密或待解密的字串</param>
          /// <param name="encrypt_key">私有密匙(用于解密和加密)</param>
          /// <returns>处理后的密匙</returns>
          public static string passport_key(string txt, string encrypt_key)
          {
              //先md5编码
              encrypt_key =
                   System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(encrypt_key, "MD5").ToString().ToLower();
              int ctr = 0;
              string tmp = "";
              byte[] encodebyte = new byte[txt.Length];
              for (int i = 0; i < txt.Length; i++)
              {
                  ctr = ctr == encrypt_key.Length ? 0 : ctr;
                  char left = txt[i];
                  char right = encrypt_key[ctr++];
                  encodebyte[i] = (byte)(left ^ right);
              }
              tmp = System.Text.Encoding.Default.GetString(encodebyte);
              return tmp;
          }
        
    
    //插入下发短信
     string message = smsclient.InsertDownSms(passport_encrypt(username, "chinagdn"), passport_encrypt(password, "chinagdn"), "", sb.ToString());
    
  • 相关阅读:
    使用jquery插件validate制作的表单验证案例
    POJ2992:Divisors(求N!因子的个数,乘性函数,分解n!的质因子(算是找规律))
    HDU1695:GCD(容斥原理+欧拉函数+质因数分解)好题
    HDU4135Co-prime(容斥原理)
    HDU1796How many integers can you find(容斥原理)
    Miller-Rabin素数测试算法(POJ1811Prime Test)
    乘法逆元+模的运算规则
    因子和与因子个数 (乘性函数)
    费马小定理的证明:
    整数(质因子)分解(Pollard rho大整数分解)
  • 原文地址:https://www.cnblogs.com/Warmsunshine/p/3749879.html
Copyright © 2011-2022 走看看