iOS 3DES加密无盐值加密
来源:互联网 发布:仿小刀娱乐网源码 编辑:程序博客网 时间:2024/05/16 11:40
+ (NSString*)TripleDES:(NSString*)plainText encryptOrDecrypt:(CCOperation)encryptOrDecrypt{ const void *vplainText; size_t plainTextBufferSize; if (encryptOrDecrypt == kCCDecrypt)//解密 { NSData *EncryptData = [GTMBase64 decodeData:[plainText dataUsingEncoding:NSUTF8StringEncoding]]; plainTextBufferSize = [EncryptData length]; vplainText = [EncryptData bytes]; } else //加密 { NSData* data = [plainText dataUsingEncoding:NSUTF8StringEncoding]; plainTextBufferSize = [data length]; vplainText = (const void *)[data bytes]; } CCCryptorStatus ccStatus; uint8_t *bufferPtr = NULL; size_t bufferPtrSize = 0; size_t movedBytes = 0; bufferPtrSize = (plainTextBufferSize + kCCBlockSize3DES) & ~(kCCBlockSize3DES - 1); bufferPtr = malloc( bufferPtrSize * sizeof(uint8_t)); memset((void *)bufferPtr, 0x0, bufferPtrSize); // memset((void *) iv, 0x0, (size_t) sizeof(iv)); const void *vkey = (const void *)[DESKEY UTF8String]; // NSString *initVec = @"init Vec"; //const void *vinitVec = (const void *) [initVec UTF8String]; // Byte iv[] = {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; ccStatus = CCCrypt(encryptOrDecrypt, kCCAlgorithm3DES, kCCOptionPKCS7Padding | kCCOptionECBMode, vkey, kCCKeySize3DES, nil, vplainText, plainTextBufferSize, (void *)bufferPtr, bufferPtrSize, &movedBytes); //if (ccStatus == kCCSuccess) NSLog(@"SUCCESS"); /*else if (ccStatus == kCC ParamError) return @"PARAM ERROR"; else if (ccStatus == kCCBufferTooSmall) return @"BUFFER TOO SMALL"; else if (ccStatus == kCCMemoryFailure) return @"MEMORY FAILURE"; else if (ccStatus == kCCAlignmentError) return @"ALIGNMENT"; else if (ccStatus == kCCDecodeError) return @"DECODE ERROR"; else if (ccStatus == kCCUnimplemented) return @"UNIMPLEMENTED"; */ NSString *result; if (encryptOrDecrypt == kCCDecrypt) { result = [[NSString alloc] initWithData:[NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes] encoding:NSUTF8StringEncoding] ; } else { NSData *myData = [NSData dataWithBytes:(const void *)bufferPtr length:(NSUInteger)movedBytes]; result = [GTMBase64 stringByEncodingData:myData]; } return result;}
OK
0 0
- iOS 3DES加密无盐值加密
- iOS DES加密与3DES加密
- sunjce iOS des 3des解密加密
- ios des加密
- ios des加密
- ios的DES加密
- ios学习--IOS 3DES加密解密
- iOS POS之3DES加密
- iOS-OC-3DES加密和解密
- iOS的3DES加密写法
- iOS 3DES加密 和 java 3DES 解密
- DES加密之3DES
- DES/3DES加密,解密
- iOS下的DES加密
- iOS DES 加密转base64
- iOS DES加密的例子
- IOS-plist文件DES加密
- IOS、java支持DES加密
- Android StageFright漏洞攻击
- 卸载win10应用
- 依赖注入框架Autofac的简单使用
- spring NamedParameterJdbcTemplate 和 SqlParameterSource 参数绑定使用
- QR的生成(二维码)
- iOS 3DES加密无盐值加密
- Linux grep命令详解
- MinGW介绍与使用
- 游戏服务端架构发展史
- 搭建svn独立服务器以及自动部署
- 【对比mysql各种代理】mysql中间件研究(Atlas奇虎360,cobar阿里巴巴,TDDL淘宝分布式数据层)
- AE开发中的“尝试读取或写入受 保护的内存。这通常指示其他内存已损坏。”错误解析
- 1073 家族
- 【语言-c++】RSA加密算法 (C++)