-1
我已將加密字符串「我是個好孩子」並帶有密鑰「1234」,我想解密它。這是我的代碼,但它最終輸出「NULL」,但不是「我是一個好孩子」。我怎樣才能得到正確的結果?如何在iOS中使用AES256解密字符串
NSString *content = @"VvHjCwHUjIgZOiYlncPWEoX/UInS7ZNbC4sy8ESa/fM=";
NSData *contentData = [content dataUsingEncoding:NSUTF8StringEncoding];
NSUInteger dataLength = contentData.length;
NSString *key = @"1234";
char keyPtr[kCCKeySizeAES256+1];
bzero(keyPtr, sizeof(keyPtr));
[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
size_t bufferSize = dataLength + kCCBlockSizeAES128;
void *buffer = malloc(bufferSize);
size_t numBytesDecrypted = 0;
CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL,
contentData.bytes, dataLength,
buffer, bufferSize,
&numBytesDecrypted);
if (cryptStatus == kCCSuccess) {
NSData *result = [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted];
if(result) {
NSString * string = [[NSString alloc]initWithData:result encoding:NSUTF8StringEncoding];
NSLog(@"%@",string);
}
}else {
free(buffer);
}
1.「爲什麼不是代碼工作」類型的Q超出了SO的範圍。 2.至少:你具體的Q是什麼?錯誤訊息?錯誤的結果?哪一個?預期結果? –
感謝您的回答。我的問題是爲什麼它返回NULL而不是「我是一個好孩子」 –