本文共 1375 字,大约阅读时间需要 4 分钟。
#import #import // 示例代码:AES加密 NSError *error = nil; CCCryptorRef cryptor = CCCrypt( kCCipherModeEncrypt, kCCipherAlgorithmAES, kCCModeECB, kCCPaddingNone, keyBytes, blockSize ); // 加密数据 size_t dataLength = [data length]; Byte *cipherData = (Byte *)malloc(dataLength); CCCryptorUpdate(cryptor, dataBytes, dataLength, cipherData, dataLength, &error); CCCryptorFinal(cryptor, cipherData, &error); free(cipherData); // 输出加密结果 [cipherData writeToFile:@"encrypted.txt" atomically:YES];
请注意:
- keyBytes和blockSize需要根据实际使用情况进行调整
- keyBytes应为8字节(通常使用一个16字节的密钥,并通过将其复制两次来满足AES要求)
- blockSize应为16字节(AES的块密码算法块大小)
AES解密示例
#import #import // 示例代码:AES解密 NSError *error = nil; CCCryptorRef cryptor = CCCrypt( kCCipherModeDecrypt, kCCipherAlgorithmAES, kCCModeECB, kCCPaddingNone, keyBytes, blockSize ); // 解密数据 size_t dataLength = [data length]; Byte *plainData = (Byte *)malloc(dataLength); CCCryptorUpdate(cryptor, cipherBytes, dataLength, plainData, dataLength, &error); CCCryptorFinal(cryptor, plainData, &error); free(plainData); // 输出解密结果 [plainData writeToFile:@"decrypted.txt" atomically:YES];
转载地址:http://rfnfk.baihongyu.com/