经过很长时间的研究,我终于在 iOS 和 PHP 上进行了编码/解码。我写了一个小算法,在 iOS 和 PHP 上都使用随机创建的 16 字节密钥池。该算法使两个系统保持同步,因此我不会多次使用密钥。
但是我的密钥包含一些 UTF8 字符(我认为)。我正在使用标准[a-z][A-Z][0-9]
字符,包括这些特殊字符:
!\"§$%&/()=?+-*#.,£[]|{}
不幸的是,当使用其中一个密钥时,PHP 上的解密失败。在 iOS 上,我在stringByAddingPercentEscapes:
转义更多字符的方法上使用了扩展。然后我将转义的数据作为POST
变量发送到服务器。
我玩了一下,结果证明 using only[a-z][A-Z][0-9]
效果很好。
关于解决我的问题有什么建议吗?