apache mina 或者 netty 与手机端通信。加密方案?

发布于 2021-11-25 06:37:51 字数 882 浏览 852 评论 2

需求是传输过程中加密。但是可能是部分接口加密。考虑到推送,需要用到长连接。但是又考虑到其他频繁的操作想以短链接+长连接的方式。

    方案有2种。

 一:

         ssl 通道加密。就是所有的操作都会加密,如果我建立一个长连接。通过ssl加密。对于重要的操作,都走这个通道,但是还有一些不重要的消息。我不想走这个ssl通道。不知道能不能实现。  而且加密握手是个耗时的工作。这样就不能用短连接+长连接的方式了。

二: 通过 jdk自带工具生成私钥公钥。然后客户端拿着公钥 进行加密。服务端用私钥解密。服务端传输数据不加密。客户端传输数据加密。或者就用ssl的原理,用公钥生成一个key。传到服务器。然后用这个key 进行对称加密。 这样的话可以使用长连接+短连接的方式 进行处理。

为什么要用长连接+短连接的方式。   长连接是为了推送。消息。 而且要保持一台服务器有尽可能多的连接,节省服务器资源。

如果只有一个长连接,所有的业务都走长连接,那长连接处理的业务太多,不可能承受过多的连接。所以想以长连接通常时期只是静默状态。只有消息推送用到,而普通的操作是以短连接的方式处理。每一个请求,处理完就释放。因为不是即时通讯之类的经常发请求的操作。所有这样的方式应该可以。

以上是我的思路。    大家有没有什么意见?  特别是做过 这种上百万千万app 通过长连接 连接服务器的项目的。有没有什么好的方案。。。。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

草莓味的萝莉 2021-11-30 03:38:36

我也有这样的问题,客户端传到服务端的数据怎么加密。如果客户端被反编译怎么办?被反编译的话,那么客户端所有的逻辑都会被知道,而反编译对客户端app来说是很容易达到的事。

伪装你 2021-11-25 08:01:48

使用protobuf序列化方式传输就已经够了吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文