我正在通过nsdata aes128encryptwithkey方法进行加密,在.NET端对其进行解密时遇到问题。我读过几篇文章,基本上都说我的salt和/或初始化向量必须是不同的,我怀疑我的问题与这个事实有关。然而,我找不到任何能说明该方法所用盐是什么的东西。
aes128encryptwithkey例程调用cccrypt如下:
CCCrypt(kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding, keyPtr, kCCKeySizeAES128, NULL /* initialization vector (optional) */, [self bytes], dataLength, /* input */ buffer, bufferSize, /* output */ &numBytesEncrypted);
所以我看到初始化向量为空,但是salt在哪里?
我对这种加密方法的简单性感到困惑!AES没有盐。
但我也发现.NET例程不喜欢IV.A 16字节数组的空值或0的是,但不喜欢空值。