如何为iOS和Android安装AES-GCM
我想用身份验证标签创建AES加密和解密GCM模式。 这是我的iOS版本源代码:如何为iOS和Android安装AES-GCM,android,ios,encryption,aes-gcm,Android,Ios,Encryption,Aes Gcm,我想用身份验证标签创建AES加密和解密GCM模式。 这是我的iOS版本源代码: CCCryptorStatus ccStatus = kCCSuccess; NSData *iv = [hexIV dataUsingEncoding:NSUTF8StringEncoding]; NSData *symmetricKey = [hexIV dataUsingEncoding:NSUTF8StringEncoding]; NSMutableData *dataOut = [NSMutableDat
CCCryptorStatus ccStatus = kCCSuccess;
NSData *iv = [hexIV dataUsingEncoding:NSUTF8StringEncoding];
NSData *symmetricKey = [hexIV dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *dataOut = [NSMutableData dataWithLength:self.length];
NSMutableData *tag = [NSMutableData dataWithLength:kCCBlockSizeAES128];
size_t tagLength = kCCBlockSizeAES128;
ccStatus = CCCryptorGCM(kCCEncrypt,
kCCAlgorithmAES,
symmetricKey.bytes,
kCCKeySizeAES256,
iv.bytes,
iv.length,
aad.bytes,
aad.length,
self.bytes,
self.length,
dataOut.mutableBytes,
tag.bytes,
&tagLength);
if (ccStatus == kCCSuccess) {
return [NSDictionary dictionaryWithObjectsAndKeys:dataOut,@"cyphertext",tag,@"tag",iv,@"iv",nil];
} else {
return nil;
}
我想将此代码更改为Android版本,在Android源代码下面:
byte[] aKey = hexStringToByteArray(hexKey);
byte[] aIV = hexStringToByteArray(hexIV);
Key key = new SecretKeySpec(aKey, "AES");
Cipher cipher = Cipher.getInstance("AES/GCM/NoPadding");
cipher.init(Cipher.ENCRYPT_MODE, key, new GCMParameterSpec(16 * Byte.SIZE, aIV));
cipher.updateAAD(aad);
byte[] encrypted = cipher.doFinal(aKey);
如何将身份验证标签添加到我的源代码中