HOME 生活记录运维/编程
作者/来源:yixinu.com
栏目:生活记录
日期:2016-11-15 16:08:07

我们在开 发APP 或者客户端应用时,会经常要用到接口数据需要加密或者认证的需要,以下对这两种方式做简单介绍:


1、签名检测认证

签名检测只能对接口调用进行认证,并不能对数据加密; 

比如:微信的签名检测,将数据用key=value的方式拼接起来,再加上一个双方约定的API密钥,拼接成字符串,通过MD5或者SHA1算出一个签名,通过签名来校验,如果校验失败则不会返回数据,如果校验成功则返回正确的接口数据,但这种方式并没有对返回的数据进行加密,而是用明文的方式传输,所以数据仍然可以截取。

所以才有了下面的,对数据进行加密。。


2、数据加密

1)、用RSA公钥私钥方式加密解密

这种方式对发送的数据本身用RSA加密算法进行加密,传输方式没有限制,仍然使用http形式的或者其他协议作为传输,服务器不需要进行其他配置,使用简单,数据加密也非常安全,缺点是加密后的数据庞大。


2)、使用服务器 https 双向认证加密解密

这种方式需要对服务器进行配置,做运维的都知道,HTTPS需要在服务器端配置好CA证书,而双向认证还需要配置好客户端的证书,否则服务器端会拒绝请求。这种方式缺点是需要对服务器进行复杂的配置,优点是不需要另外写加密算法。



分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com