IOS学习 CCCrypt加密和解密
来源:互联网 发布:云控软件 编辑:程序博客网 时间:2024/06/11 18:18
- (NSData *)DESDecrypt:(NSData *)data WithKey:(NSString *)key encryptOrDecrypt:(CCOperation)encryptOperation
{
char keyPtr[kCCKeySizeAES256+1];
bzero(keyPtr, sizeof(keyPtr));
[key getCString:keyPtrmaxLength:sizeof(keyPtr)encoding:NSUTF8StringEncoding];
NSUInteger dataLength = [data length];
// size_t bufferSize = dataLength + kCCBlockSizeDES;
size_t bufferSize = (dataLength + kCCBlockSizeDES) & ~(kCCBlockSizeDES - 1);
// unsigned char buffer[(bufferSize * sizeof(char))];
// memset(buffer, 0, sizeof(char));
void *buffer = malloc(bufferSize *sizeof(char));
size_t numBytesDecrypted = 0;
CCCryptorStatus cryptStatus = CCCrypt(encryptOperation, kCCAlgorithmDES,
kCCOptionPKCS7Padding,
keyPtr,kCCBlockSizeDES,
NULL,
[databytes], dataLength,
buffer, bufferSize,
&numBytesDecrypted);
// | kCCOptionECBMode
if (cryptStatus == kCCSuccess) {
return [NSDatadataWithBytesNoCopy:buffer length:numBytesDecrypted];
}
free(buffer);
return nil;
}
通过测试发现:kCCOptionPKCS7Padding与PKCS5Padding加密完成后的nsdata串时一样的,因此判断它们的填充方式是一样的。
测试例子在http://www.dnspod.cn/httpdns.guide下,接口API文档<<D+企业加密版本使用说明>>
- IOS学习 CCCrypt加密和解密
- DES 加密解密详解 CCCrypt函数
- iOS客户端学习 AES加密和解密
- iOS RSA加密和解密
- iOS DES加密和解密
- iOS CCCrypt方法详解
- ios学习--IOS 3DES加密解密
- 通过ios实现RSA加密和解密
- iOS-OC-3DES加密和解密
- iOS 开发 base64 加密和解密
- iOS RSA加密和解密【包括iOS10】
- 【iOS】MD5(加密)/AES/Base64加密和解密
- iOS MD5(加密)/AES/Base64加密和解密
- [iOS]加密解密算法
- iOS base64 加密解密
- IOS RSA加密解密
- iOS RSA 加密解密
- IOS 加密、解密
- APK签名原理
- 数据结构:请用一个数组实现两个堆栈,要求最大地利用数组空间,使 数组只要有空间入栈操作就可以成功
- 黑马程序员_日记34_JavaList特有方法
- Android常用控件之PopupWindow详解
- qt for linux (红帽) 终端编译
- IOS学习 CCCrypt加密和解密
- Sql server force select,delete with index
- atoi 的 C 语言实现
- jquery图表工具
- 7-1通信系统中为什么要进行编码和解码?常见的编码方法有哪些?
- python模块:xlsxwriter和xlrd相结合读取、写入excel文件
- Spring MVC 中的 forward 和 redirect
- HIVE1.1.0报错记录
- ipsec---icmp: ipsec中icmp的处理