Answers
@gaosboy 提到的对称加密的方法基本可行。为增强安全性,另外提供一种简易的方案:
- 服务器端与客户端先共同约定好一个密钥K,客户端可通过SFHKeychainUtils等工具加密存储K;
- 服务器端加密时,可获取当前unix时间戳,假设为T,则加密过程中可使用K-md5(T)-K(或任意其他规则,只要将T混淆到密钥中即可)为密钥,进行加密,并将加密时的时间戳T或md5(T)传给客户端;
- 客户端根据相应的规则拼接好密钥后,进行解密。
这样做的好处是,即使密钥K或任意一次会话过程中的密钥被破解,仍然无法完全对所有会话进行解密,必须同时知道K、密钥拼接规则以及加密方法才可完全破解。
胡子加U那
answered 11 years, 7 months ago