//data是需要加密或解密的数据,keyString 是密码(一般是8位),op表示加密/解密

+ (NSData *)desData:(NSData *)data key:(NSString *)keyString CCOperation:(CCOperation)op

{

    char buffer [1024] ;

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

    size_t bufferNumBytes;

    CCCryptorStatus cryptStatus = CCCrypt(op, 

                                          

                                          kCCAlgorithmDES

                                          

                                          kCCOptionPKCS7Padding | kCCOptionECBMode,

                                          

                                          [keyString UTF8String], 

                                          

                                          kCCKeySizeDES,

                                          

                                          NULL

                                          

                                          [data bytes], 

                                          

                                          [data length],

                                          

                                          buffer, 

                                          

                                          1024,

                                          

                                          &bufferNumBytes);

    if(cryptStatus == kCCSuccess)

    {

        NSData *returnData =  [NSData dataWithBytes:buffer length:bufferNumBytes];

        return returnData;

//        NSString *returnString = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding]autorelease];

    }

    NSLog(@"des failed");

    return nil;

    

}

 posted on 2011-11-28 17:35  Sure-G  阅读(1551)  评论(0编辑  收藏  举报