易如意网络验证系统sign签名算法
由于之前有部分同学反映,建议给数据加密。那么他来了,在即将发布的易如意网络验证系统1.6版本以及之后的版本中所有操作都会进行验证sign签名。每个应用都会有一个不同的应用KEY(appkey),这个key就是我们sign签名加密的秘钥。
下面是算法原理:
不管你用的是什么语言,只要是根据这个公式算,就不会出错。
建立变量或全局变量:appkey、sign_t、time、action
首先我们先来解释一下这四个变量的作用:
appkey = 后台应用的APPKEY
sign_t = 后台应用的Sign有效期
time = 本地时间和服务器时间对比校验
action = POST提交地址后面的action=,比如注册链接:/api.php?action=register,那么 action = register。应用配置链接/api.php?action=ini,那么 action = ini
每次POST访问都需要进行计算sign,在计算sign之前我们需要先算time,下面是time算法:
time算法说明:取本地10位数时间戳,然后将取到的时间戳转换为整数型,然后时间戳÷后台应用的Sign有效期,把÷后的结果取整(就是去掉结果后面的小数点),然后再×后台应用的Sign有效期,那么×后的结果就事time的值
1、e4atime算法:
变量 time 为 文本型 = 整数到文本(取整(到整数(取现行时间戳(2))/sign_t) * sign_t)2、易语言time算法:
.版本 2
.局部变量 time, 文本型
time = 到文本 (到整数 (取整 (到整数 (时间_取现行时间戳 (真)) ÷ sign_t) × sign_t))
3、蓝鸟time算法:
变量 time 为 文本型 = 数学操作.取整数(转换操作.到数值(文本操作.取文本左边(转换操作.到文本(时间操作.取时间戳(时间操作.取当前日期时间())) ,10)) / sign_t)*sign_t
得到time后我们就可以开始计算sign了
sign算法说明:把 action+appkey+time 三个串联起来取出md5就是sign的值
1、e4asign算法:
变量 sign 为 文本型 = 到小写(取MD5值(文本到字节(action & appkey & time,"utf8")))2、易语言sign算法:
.版本 2
.局部变量 sign, 文本型
sign = 校验_取md5_文本 (action + appkey + time)3、蓝鸟sign算法:
变量 sign 为 文本型 = 加密操作1.取md5值(action + appkey + time)
【注意:如果算法没错,那么请检查服务器时间与本地时差。如果本地时差和服务器时差大于"Sign有效期"的值就会导致“签名错误”】
66666,前排支持{:4_106:} 那么什么时候才能发布呢 谢谢大师,辛苦了 就等你发布出来,要是能做一个在线人数就好了
6666666666666 可以开发个收费的吗。我想花钱 进来看看,学习一下。 lua算法呢 有用,谢谢