我正在通过NSData AES128EncryptWithKey方法加密,并且在.Net端解密它时遇到问题。我已经阅读了几篇帖子,基本上都说我的Salt和/或初始化向量必须不同,我怀疑我的问题与这个事实有关。但是,我找不到任何说明方法使用的盐的东西。
AES128EncryptWithKey例程调用CCCrypt,如下所示:
CCCrypt(kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES128,
NULL /* initialization vector (optional) */,
[self bytes], dataLength, /* input */
buffer, bufferSize, /* output */
&numBytesEncrypted);
所以我看到初始化向量是NULL,但是Salt在哪里?
答案 0 :(得分:1)
我对这种加密方法的简单性感到困惑! AES没有Salt。
但我也发现.Net例程不喜欢iv的静音。一个16字节的数组或0是的,但是空的号码