NSData(AES) 机密 解密
来源:互联网 发布:aws ubuntu root 编辑:程序博客网 时间:2024/04/30 03:27
@implementation NSData(AES)
- (NSData *) EncryptAES {
char keyPtr[kCCKeySizeAES256+1];
bzero( keyPtr, sizeof(keyPtr) );
[_keygetCString: keyPtr maxLength: sizeof(keyPtr) encoding:NSUTF16StringEncoding];
size_t numBytesEncrypted = 0;
NSUInteger dataLength = [selflength];
size_t bufferSize = dataLength + kCCBlockSizeAES128;
void *buffer = malloc(bufferSize);
CCCryptorStatus result =CCCrypt( kCCEncrypt, kCCAlgorithmAES128,kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL,
[self bytes], [self length],
buffer, bufferSize,
&numBytesEncrypted );
if( result == kCCSuccess )
return [NSDatadataWithBytesNoCopy:buffer length:numBytesEncrypted];
free(buffer);
return nil;
}
- (NSData *) DecryptAES {
char keyPtr[kCCKeySizeAES256+1];
bzero( keyPtr, sizeof(keyPtr) );
[_keygetCString: keyPtr maxLength: sizeof(keyPtr) encoding:NSUTF16StringEncoding];
size_t numBytesEncrypted = 0;
NSUInteger dataLength = [selflength];
size_t bufferSize = dataLength + kCCBlockSizeAES128;
void *buffer_decrypt = malloc(bufferSize);
CCCryptorStatus result =CCCrypt( kCCDecrypt , kCCAlgorithmAES128,kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL,
[self bytes], [self length],
buffer_decrypt, bufferSize,
&numBytesEncrypted );
if( result == kCCSuccess )
return [NSDatadataWithBytesNoCopy:buffer_decrypt length:numBytesEncrypted];
free(buffer_decrypt);
return nil;
}
@end
- NSData(AES) 机密 解密
- AES解密
- aes解密
- Enigma机密码加密解密的实现
- 加密解密。(aes, java)
- AES加解密算法
- AES加密解密类
- AES 加密/解密备忘
- java,AES加密,解密
- AES解密函数
- AES 加密解密 c#
- AES加密解密程序。
- AES加密和解密
- java AES加密解密
- aes加解密
- java AES加密解密
- AES Linux 解密出错
- AES加密解密 应用
- 4.输入正整数n <= 20,输出一个n层的正三角形。
- 触屏
- select for update
- Android Bundle类
- 16进制浮点数与十进制的转化
- NSData(AES) 机密 解密
- Highcharts制作图片表设置线条颜色和粗细
- 问 题三十八: 编程序输出各种星号图(四)
- UTMS 信令培训(4)
- 传递复杂数据的AIDL服务
- epoll学习:思考一种高性能的服务器处理框架
- Cloud Office Software Could Replace the Traditional One and Email
- python 学习笔记之range函数和list
- 数据挖掘经典书籍推荐