欢迎光临
专注android技术,聚焦行业精粹,我们一直在努力

Lua 常用代码合集

前言

lua语言性能对比

 

 

1、DHexchange密钥交换算法

Diffie-Hellman算法是Whitefield Diffie和Martin Hellman在1976年公布的一种秘钥交换算法,是最早的密钥交换算法之一,它是一种建立秘钥的方法,而不是加密方法,所以秘钥必须和其他一种加密算法结合使用。这种秘钥交换技术的目的在于使两个用户安全的交换一个秘钥以便后面的报文加密,被应用于安全领域,比如 Https 协议的 TSL(Transport Layer Security) 和 IPsec 协议的 IKE(Internet Key Exchange) 均以 DH 算法作为密钥交换算法。

它的数学基础就是离散对数这个数学难题。用它进行密钥交换的过程简述如下:
  • 选取两个大的素数n和g并公开,其中n是一个素数,g是n的一个模n本原单位根(primitive root module n),所谓本原单位根就是指在模n乘法运算下,g的1次方,2次方……(n-1)次方这n-1个数互不相同,并且取遍1到n-1;
  • 对于甲方(其中的一个通信者),随机产生一个整数aa对外保密,计算Ka = g^a mod n,将Ka发送给乙方;
  • 对于乙方(另一个通信者),随机产生一个整数bb对外保密,计算Kb = g^b mod n,将Kb发送给甲方;
  • 甲方方面,收到乙方送来的Kb后,计算出密钥为:key = Kb^a mod n = g^(b*a) mod n mod n
  • 对于乙方,收到甲方送来的Ka后,计算出密钥为:key = Ka ^ b mod n = g^(a*b) mod n mod n。
  • 攻击者知道ng,并且截获了KaKb,但是当它们都是非常大的数的时候,依靠这四个数来计算ab非常困难这就是离散对数数学难题

1.1、lua代码示例

上面的代码运行输出:

 

2、将字符串转为ASCII 码数组

 

3、将10进制数转换为16进制数

4、16进制转换为10进制

 

5、按位取反

6、10进制和字符相互转换

7、chunk拼接

8、版本比较

8.1、lua代码

8.2、测试用例

lu.assertEquals为内部实现可以忽略

 

 

 

 

赞(0) 打赏
未经允许不得转载:花花鞋 » Lua 常用代码合集
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

国内精品Android技术社区

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏