iOS AES258 CFB模式

代碼:

+ (NSData *)CBCWithOperation:(CCOperation)operation andIv:(NSString *)ivString andKey:(NSString *)keyString andInput:(NSData *)inputData

{

const char *iv = [[ivString dataUsingEncoding: NSUTF8StringEncoding] bytes]; const char *key = [[keyString dataUsingEncoding: NSUTF8StringEncoding] bytes];

CCCryptorRef cryptor;

CCCryptorCreateWithMode(operation, kCCModeCFB, kCCAlgorithmAES, ccNoPadding, iv, key, [keyString length], NULL, 0, 0, 0, &cryptor);

NSUInteger inputLength = inputData.length;

char *outData = malloc(inputLength);

memset(outData, 0, inputLength);

size_t outLength = 0;

CCCryptorUpdate(cryptor, inputData.bytes, inputLength, outData, inputLength, &outLength);

NSData *data = [NSData dataWithBytes: outData length: outLength];

CCCryptorRelease(cryptor);

free(outData);

return data;

}

+ (NSString *)encryptAESCBC:(NSString *)inputString

{

NSMutableData *inputData = [NSMutableData dataWithData: [inputString dataUsingEncoding: NSUTF8StringEncoding]];

NSData *outData = [self CBCWithOperation: kCCEncrypt andIv: 你的偏移量 andKey:加密密鑰 andInput: inputData];

outData = [outData base64EncodedDataWithOptions: NSDataBase64EncodingEndLineWithLineFeed];

return [[NSString alloc] initWithData: outData encoding: NSUTF8StringEncoding] ?: @"";

}

調用:[控制器? encryptAESCBC:字符串];

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容