iPhone开发技巧之数据篇(2)— iPhone程序中的加密处理

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 14:12 点击:

CCCrypt
在Objective-C语言中,加密时常用到CCCrypt(3cc) Mac OS X Manual Pagehttp://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man3/CCCrypt.3cc.html 。下面的代码使用 CCCrypt() ,给 NSData 类增加了 AES256EncryptWithKey, AES256DecryptWithKey 方法。
1. #import <CommonCrypto/CommonCryptor.h>
2. 
3. @implementation NSData (Additions)
4. 
5. @class NSString;
6. 
7. - (NSData *)AES256EncryptWithKey:(NSString *)key {
8.         char keyPtr[kCCKeySizeAES256+1];
9.         bzero(keyPtr, sizeof(keyPtr));
10. 
11.         [key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];
12. 
13.         NSUInteger dataLength = [self length];
14. 
15.         size_t bufferSize = dataLength + kCCBlockSizeAES128;
16.         void *buffer = malloc(bufferSize);
17. 
18.         size_t numBytesEncrypted = 0;
19.         CCCryptorStatus cryptStatus = CCCrypt(kCCEncrypt, kCCAlgorithmAES128,
20.                                                                          kCCOptionPKCS7Padding | kCCOptionECBMode,
21.                                                                          keyPtr, kCCBlockSizeAES128,
22.                                                                          NULL,
23.                                                                          [self bytes], dataLength,
24.                                                                          buffer, bufferSize,
25.                                          &nbs

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • UITableView一些方法
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1