0
经过很长时间的研究,我终于在iOS和PHP上进行了编码/解码。我写了一个在iOS和PHP上使用随机创建的16字节密钥池的小算法。 该算法保持两个系统同步,以便我不多次使用这些密钥。密钥中的AES-128 UTF-8字符(iOS↔PHP)
但是我的密钥包含一些UTF8字符(我认为)。我使用的是标准[a-z][A-Z][0-9]
字符,包括这些特殊字符:
!\"§$%&/()=?+-*#.,£[]|{}
不幸的是,使用这些键之一时,解密PHP的失败。在iOS上,我在stringByAddingPercentEscapes:
方法上使用了一个扩展,它可以转义更多的字符。然后我将转义的数据作为POST
变量发送到服务器。
我玩了一下,结果证明只使用[a-z][A-Z][0-9]
的效果很好。
解决我的问题的任何建议?
这个问题其实不在Obj-C中。我的问题是PHP。我可以(无论如何)将字符串转换或转换为原始数据并使用它解密? – 2013-02-12 16:13:55
PHP字符串是字节字符串。没有区别。 – duskwuff 2013-02-12 17:09:24
然后我注定要使用ASCII-Only-Keys,对...感谢您的帮助! – 2013-02-13 15:41:57