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;
        }
        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;
        }

短信发送AZDG加密算法相关推荐

  1. android不调用系统发送短信,android之两种方式调用短信发送接口

    释放双眼,带上耳机,听听看~! 相信很多程序员在开发程序的时候都会遇到短信调用端口的情况,今天是技术狗小编为大家带来的关于android之两种方式调用短信发送接口,希望对你学习这方面知识有帮助! an ...

  2. android短信功能裁剪,Android短信发送功能实现技巧分享

    如现在启动一模拟器id 号为5554,运行cmd telnet localhost 5554 输入help 可以看到很多用于模拟器中的功能命令 gsm call 134343434   // 便是呼叫 ...

  3. 阿里云短信发送触发天级流量及解决办法

    前言 今天小项目里引入了阿里云短信.调试过程中,突然不发短信了.发现接口返回信息,触发天级流量限制.以下是原因和解决办法. 原因 短信发送有默认的频率限制 限制如下: 短信验证码 :使用同一个签名,对 ...

  4. 关于联通短信发送程序(SGIP协议)没有收到返回状态报告的报告(使用WireShark分析)

    关于联通短信发送程序(SGIP协议)没有收到返回状态报告的报告(使用WireShark分析) 这是数年前给一个公司做的:使用WireShark抓包分析程序问题:是使用WireShark分析程序涉及到网 ...

  5. php创蓝253四要素认证_PHP下基于创蓝253接口的短信发送

    写这篇博客纪念下我此次尴尬的工做.api 首先此次的需求是公司基于借款人给投资人还款时批量发送短信的需求,刚接到需求的时候我一脸懵逼,无所适从.我但是从没写过的,也不知道发送短信的机制是什么.今天写下 ...

  6. Android短信发送流程之多收件人发送(原)

    前面的< Android短信发送流程之长短信发送 >中介绍了长短信对于普通短信的区别,而对于多收件人的情况,在SmsMessageSender的queueMessage()方法中我们了解到 ...

  7. Android短信发送流程之长短信发送(原)

    从前面< Android短信发送流程之普通短信发送 >流程看到,长短信与普通短信的流程从SmsManager的sendMultipartTextMessage()方法开始区分,现在我们来看 ...

  8. Android短信发送流程之普通短信发送(原)

    我们先来看最简单的流程入手分析,即收件人只有一个,而且不是长短信的情况. 一.地址有效性检测 当点击发送按钮时,触发onClick事件: [java] view plaincopy @ComposeM ...

  9. Android6.0的SMS(短信)源码分析--短信发送

    1     SMS发送流程 1.1   SmsManager Android发送短信的接口可以认为是SmsManager,当然并不是所有的App都可以发送短信的,必须配置相关的权限.App中可以通过S ...

最新文章

  1. 三维感知,这些干货足够了!(自动驾驶/三维重建/SLAM/点云/标定/深度估计/3D检测)...
  2. Hibernate QBC 分页
  3. 【夯实Mysql基础】mysql explain执行计划详解
  4. C++ 术语(C++ Primer)
  5. 详解ASP.NET页面的aspx扩展
  6. 《Cocos2d-x3.x游戏开发之旅》学习
  7. java 依赖其他项目时如何导出_使用Eclipse将具有外部依赖性的Java项目导出到jar...
  8. SSM框架开发web项目系列(四) MyBatis之快速掌握动态SQL
  9. 哦,指针问题的见解啊
  10. c语言gets,getc,C语言的getc()函数和gets()函数的使用对比
  11. RePast J介绍
  12. 转fatfs 文件系统选择
  13. auther tonyxiao
  14. CISCO服务器配置RAID步骤
  15. kindle的xray怎么用_xray 使用说明高级版领取方式
  16. css3字间距的控制
  17. 外链怎么做?看看外链代发的这些黑幕!
  18. Flutter网络请求库DIO的使用
  19. 计算机教师幽默介绍,数学老师幽默自我介绍关于数字
  20. mybatis-pluse使用

热门文章

  1. 面试三 去苏州了 2023.6.13 苏州一上市公司
  2. iOS小技能:蓝牙打印商品价签和交易小票的模版,实现自动连接最近使用的打印机 (针对佳博GP-2120TU型号为例子进行展开) 【包含完整demo源码】
  3. 可作为工质状态参数的是_热力学
  4. openjudge 1.5.45 金币
  5. FPGA ——DDR基础概念详解
  6. [好累的游戏]传球游戏
  7. audio驱动之cpu_dai
  8. 电子信息工程就业方向及薪资标准【转载的】
  9. CPU 中核心与线程
  10. 用Hadoop,还是不用Hadoop?