php做接口与Android、IOS通讯,需要加解密,如何设计出一个安全、稳定、可靠的解决方案?

情景描述:

1.php做服务端,移动端(ios、android)请求php;
2.后台部分可能会与java通信,java-php之前最好也能实现加密;

问题:

请教老司机
1.目前有哪些流行的加密方式;
2.要实现以php与移动端如何设计加解密方案;
3.有哪些成熟案例可用;

附:

我已知的:
(1).http请求方面:php有curl,java有httpclient,移动端我不太清楚,但是android和ios应该也有http请求类库;
(2).加解密方面:php有mcrypt,openssl,但是对类库的方法不熟悉,字典排序,json;
阅读 10k
10 个回答

非要加密的话,随便一个带密钥的加密解密函数都可以。密钥直接存储在两台服务器上用不公开就行。

我是指php和java之间的通信

其他客户端做什么加密都没有完美的方案,最多防君子不防小人。解密你要在客户端完成,你必须保证你的解密过程在客户端不被破解。

1、HTTPS:这个不解释。苹果都要强制HTTPS了,你没有考虑的余地。而且不论易用性还是安全性真的都是超级棒。

2、关键字段加密:这个就是文本级的加密。比如你要传输的信息是json格式的,那么如果里面有该加密的信息,比如用户邮箱之类的,你不希望这部分被泄露,那么可以自己做一个对称加密(比如AES),秘钥保存在你的APP和服务器端,因为APP是编译加密的,服务器端代码只有你自己看得到,所以是相对安全的。但是效果不好,能得到你用HTTPS传输的信息的人差不多干掉你的服务器也不在话下了。

3、TCP层的加密,这个是最暴力的加密手段了。HTTPS其实也是这种方式之一,然而如果你想再套一种也不是不行。

一般情况下,上HTTPS就足够了,案例,你看segmentfault就是https。国外很多网站都已经上https了。其他方式一般用不到,你不会把非常重要的信息明文保存的(比如用户密码,应该在客户端就做到无法解密)。

一般来讲你也不需要研究加密算法,作为拿来主义,你只要知道哪些加密方法安全性高、哪些已经被破解就好了。至于效率,至少已知的多种算法都已经集成到CPU上了,速度都是硬件级的加速。

首先先了解一些加密数据,比如单向散列加密,对称加密,非对称加密。
推荐文章:一起来聊聊数据的加密技术

然后数据加密肯定会用到密钥,那么密钥如何保存?
推荐文章:数据加密技术与密钥安全管理

接口有了,必须要进行错误报警,那么如何监控?
推荐文章:利用 Gearman 实现系统错误报警功能

上面的文章,均是我的文章。

所以在开发过程中,遇到什么问题,可以在我的微信公众号留言~

登陆认证、web api接口调用、支付接口调用等场合经常涉及到:md5、sh、 rsa等算法。我之前遇到过,真正的相对安全的就是rsa,之前一直研究京东的登录页面,发现京东的登录也是rsa这种方式,只不过它用的应该是Java,我试过他的js代码,用在php上面不得行,后来自己经过多方百度,上面的基本不能用,后来没办法自己花费两天时间总结出来的一套,PHP-RSA验证

开源的jwt.io ,支持php,python,go

简单一点,接口走HTTPS协议

HTTPS 就足够了。 另外为了防止分析人员添加系统根证书分析你的请求,可以在你的程序里面硬编码比较证书的指纹。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题