重要
介绍说明
接口请求说明【必须看】
sign
返回参数
域名
疑难解答
防破解
账号相关
卡密相关
配置相关
公告相关
软件相关
数据相关
接入教程

权朗网络API3.0

权朗网络API3.0


sign

<p>首先明白3个概念 【1】center_id:开发者id,在后台首页就能看到 【2】timestamp:时间戳,在 域名/time获取。比如: <a href="https://api2.2cccc.cc/time">https://api2.2cccc.cc/time</a> 【3】apipassword:api密码,在【设置】中就能看到或者修改。</p> <p>注:如果不怕软件被进行网络破解,那么可以忽略本文档,不需要做加密和验签,在后台的【设置】菜单栏中关闭api安全模式即可。</p> <p>sign实现方式:</p> <p>【1】时间戳在前,api密码在后,把他俩连接起来,不需要任何连接符,直接连接起来,在这里我们把连接起来的东西叫【待加密字符串】 【2】把【待加密字符串】进行一下【md5】。32位的大小写都可以。md5之后得到的这个东西就是sign</p> <p>在接口请求的时候,需要进行sign加密参数参与请求,否则服务器会认为这个请求不是来自开发者的。拒绝正常服务,这是为了保护开发者软件到平台服务器之间的请求安全。 同样的,在所有的api请求返回的数据的时候,就是说从平台服务器到开发者软件的安全,同样是通过sign来保护的。在每个code为1的请求里,都会有timestamp和sign参数返回。这个时候同样的,跟上面的【sign实现方式】一样,只是时间戳变成了返回请求里面的时间戳参数,进行加密算法。然后比对加密出来的结果是否和服务器返回的sign结果是一样的。如果一样,那么说明软件接收到的这个返回消息是从平台服务器来的,正常运行。如果不一样,那么说明这条消息是被第三方人员恶意伪造的。想要尝试破解软件。</p> <p>那么有人要问了,这3个参数不变不就可以了吗,这里的timestamp的用处不只是一秒一变,还会判断这个参数是否是60秒以内的,如果不是,那么服务器也是不允许消息通过的。同样的,开发者软件里也做一个这样的限制就可以了。</p> <p>以上所说的,总的来说,是有两次加密验证。一次是,客户端(你的软件)请求服务端(平台接口)的时候,你所带的sign。再一次是,请求的时候,拿到了返回值,返回值里面的sign。</p> <p>那么这两个sign加密方式和验证加密方式的算法是一致的,所以还是不安全,在2021年3月,平台这边发现了这个加密方式的漏洞。所以,建议开发者这样做:</p> <p>在发送请求的时候,请求时所带的sign,算法改为:api密码在前,时间戳在后。</p> <p>在拿到返回值验证sign的时候,算法不变,时间戳在前,api密码在后。</p> <p>这样就可以做到,加密算法和验证加密算法不一致,可以有效防止您的软件被改包破解。</p>

页面列表

ITEM_HTML