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

 feixiang1563122 发布于 2022-11-29 22:52

情景描述:

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;
10 个回答
  • 非要加密的话,随便一个带密钥的加密解密函数都可以。密钥直接存储在两台服务器上用不公开就行。

    我是指php和java之间的通信

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

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

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

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

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

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

    2022-11-29 23:02 回答
  • 以我现在在做的项目举例,安全性方面主要用到RSA数据加密,数字签名验证(sign),和用户临时token(单点登录)。

    另外,还有https,没办法,苹果1月1号后就强制要求https了

    关于RSA加密,可以参考这篇博客里的示例,支持长字符串的。
    laravel5.3自定义加密服务方案

    关于https配置的话,可以看这篇博客
    nginx配置自签名的ssl证书(轻松实现https连接)

    希望帮到你

    2022-11-29 23:02 回答
  • 之前写的一套API解决方案 https://github.com/flc1125/Ap...

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

    2022-11-29 23:02 回答
  • 一般加签名验证即可:

    参考:

    2022-11-29 23:02 回答
  • 首先先了解一些加密数据,比如单向散列加密,对称加密,非对称加密。
    推荐文章:一起来聊聊数据的加密技术

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

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

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

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

    2022-11-29 23:02 回答
  • 开源的jwt.io ,支持php,python,go

    2022-11-29 23:02 回答
  • 简单一点,接口走HTTPS协议

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

    2022-11-29 23:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有