@@ -61,7 +61,7 @@ + (NSString *) pbkdf2:(NSString *)password salt: (NSString *)salt cost: (NSInteg
61
61
return [self toHex: hashKeyData];
62
62
}
63
63
64
- + (NSData *) AES128CBC : (NSString *)operation data : (NSData *)data key : (NSString *)key iv : (NSString *)iv {
64
+ + (NSData *) AES256CBC : (NSString *)operation data : (NSData *)data key : (NSString *)key iv : (NSString *)iv {
65
65
// convert hex string to hex data
66
66
NSData *keyData = [self fromHex: key];
67
67
NSData *ivData = [self fromHex: iv];
@@ -74,8 +74,8 @@ + (NSData *) AES128CBC: (NSString *)operation data: (NSData *)data key: (NSStrin
74
74
[operation isEqualToString: @" encrypt" ] ? kCCEncrypt : kCCDecrypt ,
75
75
kCCAlgorithmAES128 ,
76
76
kCCOptionPKCS7Padding ,
77
- keyData.bytes , kCCKeySizeAES128 ,
78
- ivData.bytes ,
77
+ keyData.bytes , kCCKeySizeAES256 ,
78
+ ivData.length ? ivData. bytes : nil ,
79
79
data.bytes , data.length ,
80
80
buffer.mutableBytes , buffer.length ,
81
81
&numBytes);
@@ -89,12 +89,12 @@ + (NSData *) AES128CBC: (NSString *)operation data: (NSData *)data key: (NSStrin
89
89
}
90
90
91
91
+ (NSString *) encrypt : (NSString *)clearText key : (NSString *)key iv : (NSString *)iv {
92
- NSData *result = [self AES128CBC :@" encrypt" data: [clearText dataUsingEncoding: NSUTF8StringEncoding] key: key iv: iv];
92
+ NSData *result = [self AES256CBC :@" encrypt" data: [clearText dataUsingEncoding: NSUTF8StringEncoding] key: key iv: iv];
93
93
return [result base64EncodedStringWithOptions: 0 ];
94
94
}
95
95
96
96
+ (NSString *) decrypt : (NSString *)cipherText key : (NSString *)key iv : (NSString *)iv {
97
- NSData *result = [self AES128CBC :@" decrypt" data: [[NSData alloc ] initWithBase64EncodedString: cipherText options: 0 ] key: key iv: iv];
97
+ NSData *result = [self AES256CBC :@" decrypt" data: [[NSData alloc ] initWithBase64EncodedString: cipherText options: 0 ] key: key iv: iv];
98
98
return [[NSString alloc ] initWithData: result encoding: NSUTF8StringEncoding];
99
99
}
100
100
0 commit comments