作者/来源:yixinu.com
栏目:生活记录
日期:2016-11-15 16:08:07
我们在开 发APP 或者客户端应用时,会经常要用到接口数据需要加密或者认证的需要,以下对这两种方式做简单介绍:
1、签名检测认证
签名检测只能对接口调用进行认证,并不能对数据加密;
比如:微信的签名检测,将数据用key=value的方式拼接起来,再加上一个双方约定的API密钥,拼接成字符串,通过MD5或者SHA1算出一个签名,通过签名来校验,如果校验失败则不会返回数据,如果校验成功则返回正确的接口数据,但这种方式并没有对返回的数据进行加密,而是用明文的方式传输,所以数据仍然可以截取。
所以才有了下面的,对数据进行加密。。
2、数据加密
1)、用RSA公钥私钥方式加密解密
这种方式对发送的数据本身用RSA加密算法进行加密,传输方式没有限制,仍然使用http形式的或者其他协议作为传输,服务器不需要进行其他配置,使用简单,数据加密也非常安全,缺点是加密后的数据庞大。
2)、使用服务器 https 双向认证加密解密
这种方式需要对服务器进行配置,做运维的都知道,HTTPS需要在服务器端配置好CA证书,而双向认证还需要配置好客户端的证书,否则服务器端会拒绝请求。这种方式缺点是需要对服务器进行复杂的配置,优点是不需要另外写加密算法。