使用了 HTTPS 的网络请求, 其中 JSON 数据有必要做额外的加密吗?
个人疑惑,故在v2ex提了这个问题,大家讨论挺热闹的。另外,根据一个网友的评论,收获一篇好文.HTTPS实战之单向验证和双向验证
##问题描述及解决
需要对部分接口中的JSON数据加密,由于仅是部分接口需要处理,故想到用注解来标记需要加密的接口。
1 | // 服务器返回的基础类 |
Data
是个泛型,不同接口对应着不同类型,在没有加密逻辑时,该JSON数据中data
就是相应的JSON对象。
添加加密逻辑后,data
成了加密过后的密文,类型是String
, 故想要反序列出我们想要的Data
对象,我们需要多一个额外操作,
先将该密文解密成相应的json,后续使用Gson
反序列既可。
具体步骤
1,标记需要加密的接口
1 |
|
2,获取接口方法中的注解
1 |
|
3,为对应的注解添加我们的额外操作
1 |
|
##总结
大概就是这个流程,在json和对象转换之间插入加解密,第一份工作的项目写过这个逻辑,现在不过是加了一个注解。另外,回头看了第一个项目时,发觉自己 代码规范居然变糟糕了~