目前支持的加密模式为AES 256 is CBC
. 但我想AES 256 encryption
与GCM
模式一起使用PKCS5Padding / PKCS7Padding
。
让我知道怎么做?
目前支持的加密模式为AES 256 is CBC
. 但我想AES 256 encryption
与GCM
模式一起使用PKCS5Padding / PKCS7Padding
。
让我知道怎么做?
Common Crypto 不支持 GCM。但是Security.framework中有AES GCM的实现,你可以添加自己的头文件来使用它。但是关联数据 (AEAD) 不起作用。
来自soyer的SO回答:
CCCryptorStatus CCCryptorGCM(
CCOperation op, // kCCEncrypt, kCCDecrypt
CCAlgorithm kCCAlgorithmAES,
const void *key, size_t keyLength,
const void *iv, size_t ivLen,
const void *aData, size_t aDataLen, // does not work
const void *dataIn, size_t dataInLength,
void *dataOut,
const void *tag, size_t *tagLength);
github 上有一个AES GCM的实现,与 Common Crypto 相比似乎合理,但速度较慢。使用风险自负。