我正在尝试使用 DES 算法加密目标 c 中的数据。这是我的代码。我正在从这段代码中获取我的数据 :<> 和加密的 str: 。任何人都可以说有什么问题吗?
NSString *token = @"hello world";
const void *vplainText;
size_t plainTextBufferSize;
plainTextBufferSize = [token length];
vplainText = (const void *) [token UTF8String];
uint8_t *bufferPtr = NULL;
size_t bufferPtrSize = 0;
size_t *movedBytes;
bufferPtrSize = (plainTextBufferSize + kCCBlockSize3DES) & ~(kCCBlockSize3DES - 1);
bufferPtr = malloc( bufferPtrSize * sizeof(uint8_t));
memset((void *)bufferPtr, 0x0, bufferPtrSize);
NSString *key = [[NSString alloc] initWithString:@"12345678"];
const void *vkey = (const void *) [key UTF8String];
CCCryptorStatus cryptStatus =CCCrypt(
kCCEncrypt, /* kCCEncrypt, etc. */
kCCAlgorithmDES, /* kCCAlgorithmAES128, etc. */
kCCOptionPKCS7Padding | kCCOptionECBMode, /*kCCOptionPKCS7Padding, etc. */
vkey,
kCCKeySizeDES,
NULL, /* optional initialization vector */
vplainText, /* optional per op and alg */
plainTextBufferSize,
(void *)bufferPtr, /* data RETURNED here */
bufferPtrSize,
movedBytes);
NSString *result;
NSData *myData = [NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes];
NSLog(@"my data :%@",myData);
result = [self base64Encoding:myData];
NSLog(@"enrypted str: %@",result);