iOS 调用 SecKeyWrapper 进行 AES128 加密解密

根据 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


你可能感兴趣的:(ios,Objective-C)