• ​CCCrypt​​​

  • ​base64encoding​
  • iPhone开发技巧之数据篇(2)—iPhone程序中的加密处理
  • CCCrypt
    在Objective-C语言中,加密时常用到​​CCCrypt(3cc)Mac OS X Manual Page​​。下面的代码使用 CCCrypt() ,给 NSData 类增加了AES256EncryptWithKey, AES256DecryptWithKey 方法.








  • 使用的时候就像使用NSData一样。
  • base64encoding
    有的时候需要向服务器上传递base64加密的数据,这个时候我们就可以像下面,给 NSData类追加newStringInBase64FromData 方法。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
xxxxxxxxxx
 
1
- (NSString *)newStringInBase64FromData {
2
3
        NSMutableString *dest = [[NSMutableString alloc] initWithString:@""];
4
5
        unsigned char * working = (unsigned char *)[self bytes];
6
7
        int srcLen = [self length];
8
9
10
11
        for (int i=0; i<srcLen; i += 3) {
12
13
                for (int nib=0; nib<4; nib++) {
14
15
                    int byt = (nib == 0)?0:nib-1;
16
17
                        int ix = (nib+1)*2;
18
19
20
21
                        if (i+byt >= srcLen) break;
22
23
24
25
                        unsigned char curr = ((working[i+byt] << (8-ix)) & 0x3F);
26
27
28
29
                        if (i+nib < srcLen) curr |= ((working[i+nib] >> ix) & 0x3F);
30
31
32
33
                        [dest appendFormat:@"%c", base64[curr]];
34
35
                }
36
37
        }
38
39
        return dest;
40
41
}






同样,使用的时候就像使用NSData一样。

最终的代码如下所示 :
64