【发布时间】:2017-03-05 22:46:53
【问题描述】:
目前支持AES 256 is CBC的加密模式。但我想使用AES 256 encryption 和GCM 模式以及PKCS5Padding / PKCS7Padding。
请告诉我怎么做?
【问题讨论】:
标签: ios encryption commoncrypto aes-gcm
目前支持AES 256 is CBC的加密模式。但我想使用AES 256 encryption 和GCM 模式以及PKCS5Padding / PKCS7Padding。
请告诉我怎么做?
【问题讨论】:
标签: ios encryption commoncrypto aes-gcm
Common Crypto 不支持 GCM。但是Security.framework中有AES GCM的实现,你可以添加自己的头文件来使用。但是关联数据 (AEAD) 不起作用。
来自SO Answer soyer:
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 相比,这似乎是合理的,但速度较慢。使用风险自负。
【讨论】: