开发者社区 问答 正文

TCP发送数据什么时候需要对数据加密

最近在开发一款android app, 因为需求的需要, app使用tcp和服务器保持长连接, 然后用户在操作时通过tcp发送指令及数据(键值对)到服务器, 比如添加分组这一类的操作, 那么在对用户的操作有进行后台权限验证的情况下, 除了用户登录和注册时的账号密码以外, 我们是否有必要对发送的数据(即指令和数据)进行加密呢?一般什么样的数据需要加密呢?

展开
收起
蛮大人123 2016-02-25 15:37:35 3729 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    有必要加密的,WiFi网络链路完全不可信,不加密的话你的整个业务都暴露出去了,中间人劫持重放伪等造安全问题,很容易把你的系统搞坏。加密属于底层的东西,如果你现在不设计进去,以后发现不得不加密的时候再来加密就相当麻烦了。
    我经历过这样的项目,做的专用Android PDA上的程序,甲方要求对TCP加密的并且长连接,最后用了SSL来完成的,客户端和服务器端用证书来通信就行了。
    推荐你用SSL,好处是现成的,而且免费,问题不多,遇到问题了也容易搜找到解决方案。你不用去考虑怎么来加密,都是用的现成的东西,从SDK和key生成都直接用。前期测试开发的时候可以不加密,最后成型之后再把SSL加上去就行。
    依我个人经历而言,你的最大问题其实不是加密,长连接的地方估计会花你更多精力,长连接如果能不用就去了吧。

    2019-07-17 18:47:36
    赞同 展开评论