开发者社区> 问答> 正文

iOS DES解密,key位16位时,解密出来位nil

密文 : 429473191145312278382171352981058688
key : 6568535557566965
后台的偏移量和key是一样的 我就写成这样了 Byte iv[] = {65,68,53,55,57,56,69,65};

下面是我解密方法里面的方法:

  • (NSString ) decryptUseDES:(NSString)cipherText key:(NSString*)key
    {

// NSData* cipherData = [GTMBase64 decodeString:cipherText];


NSData* cipherData = [GTMBase64 decodeData:[cipherText dataUsingEncoding:NSUTF8StringEncoding]];
unsigned char buffer[1024];

memset(buffer, 0, sizeof(char));

size_t numBytesDecrypted = 0;
Byte iv[] = {65,68,53,55,57,56,69,65};
CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt,
                                      kCCAlgorithmDES,
                                      kCCOptionPKCS7Padding| kCCOptionECBMode,
                                      [key UTF8String],
                                      kCCKeySizeDES,
                                      iv,
                                      [cipherData bytes],
                                      [cipherData length],
                                      buffer,
                                      1024,
                                      &numBytesDecrypted);
NSString* plainText = nil;
if (cryptStatus == kCCSuccess) {
    NSData* data = [NSData dataWithBytes:buffer length:(NSUInteger)numBytesDecrypted];
    
    plainText = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
return plainText;

}

展开
收起
刘勋1991 2016-12-15 11:11:20 2495 0
1 条回答
写回答
取消 提交回答
  • 本人qq:1805524187 ,哪位大神可以指导一下,加我qq

    2019-07-17 20:34:13
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
手淘iOS性能优化探索 立即下载
From Java/Android to Swift iOS 立即下载
深入剖析iOS性能优化 立即下载