NSData+KKAES.h
1.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
//
// NSData+KKAES.h
// SecurityiOS
//
// Created by cocoa on 16/12/15.
// Copyright © 2016年 dev.keke@gmail.com. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
支持的AES key size 有 128位,192位,256位
数据填充方式:kCCOptionPKCS7Padding
分组模式:cbc,ecb
*/
@interface NSData (KKAES)
/**
AES cbc 模式加密,
@key 长度16字节,24字节,32字节
@iv 16字节
*/
- (NSData *)AES_CBC_EncryptWith:(NSData *)key iv:(NSData *)iv;
/**
AES cbc 模式解密,
@key 长度16字节,24字节,32字节
@iv 16字节
*/
- (NSData *)AES_CBC_DecryptWith:(NSData *)key iv:(NSData *)iv;
/**
AES ecb 模式加密,
@key 长度16字节,24字节,32字节
*/
- (NSData *)AES_ECB_EncryptWith:(NSData *)key;
/**
AES ecb 模式解密,
@key 长度16字节,24字节,32字节
*/
- (NSData *)AES_ECB_DecryptWith:(NSData *)key;
/**
* 对Data加密可以加密的部分,剩余部分保持原样
*/
- (NSData *)dataByAESEncryptAvailableBytesWith:(NSData *)key;
@end