根据
CryptoExercise在项目添加 CryptoCommon.h SecKeyWrapper.h 与 SecKeyWrapper.m 文件即可。
NSString *plainText = @"Hello,Encryption";//明文
NSData *textData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
//生成密钥
[[SecKeyWrapper sharedWrapper] generateSymmetricKey];
NSData *symmetricKeyData = [[SecKeyWrapper sharedWrapper] getSymmetricKeyBytes];
CCOptions pad = PADDING;
//进行加密
NSData *encryptedData = [[SecKeyWrapper sharedWrapper] doCipher:textData key:symmetricKeyData context:kCCEncrypt padding:&pad];//默认加密模式为AES/CBC/PKCS7
Byte *plainTextByte =(Byte *)[encryptedData bytes];
NSLog(@"Plain text = %@",plainText);
NSLog(@"Encrpted data = ");
//加密后的数据
for (int i = 0; i < [encryptedData length]; i ++) {
printf("%x",plainTextByte[i]);
}
printf("\n");
//解密
NSData *decryptedData = [[SecKeyWrapper sharedWrapper] doCipher:encryptedData key:symmetricKeyData context:kCCDecrypt padding:&pad];
//输出解密结果
NSLog(@"After decryption = %@",[[NSString alloc] initWithData:decryptedData encoding:NSUTF8StringEncoding]);
输出结果:
Plain text = Hello,Encryption
Encrpted data =
47c5745be42930e9dddb17bcabbcaa7
After decryption = Hello,Encryption