-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCommonCrypto+Convenience.h
46 lines (32 loc) · 1.08 KB
/
CommonCrypto+Convenience.h
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
//
// CommonCrypto+Convenience.h
// Sleep Diary
//
// Created by Alexander Ivanov on 14.11.16.
// Copyright © 2016 Alexander Ivanov. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CommonCrypto/CommonCrypto.h>
typedef enum : NSUInteger {
MD2,
MD4,
MD5,
SHA1,
SHA224,
SHA256,
SHA384,
SHA512,
} COMMON_DIGEST;
@interface NSData (CommonCrypto)
+ (instancetype)randomDataWithLength:(NSUInteger)length;
- (NSData *)encrypt:(CCAlgorithm)alg key:(NSData *)key iv:(NSData *)iv options:(CCOptions)options;
- (NSData *)decrypt:(CCAlgorithm)alg key:(NSData *)key iv:(NSData *)iv options:(CCOptions)options;
- (NSData *)hash:(COMMON_DIGEST)commonDigest;
- (NSData *)hmac:(CCHmacAlgorithm)algorithm key:(NSData *)key;
@end
@interface NSString (CommonCrypto)
- (NSData *)encrypt:(CCAlgorithm)alg key:(NSData *)key iv:(NSData *)iv options:(CCOptions)options;
- (NSData *)decrypt:(CCAlgorithm)alg key:(NSData *)key iv:(NSData *)iv options:(CCOptions)options;
- (NSData *)hash:(COMMON_DIGEST)commonDigest;
- (NSData *)hmac:(CCHmacAlgorithm)algorithm key:(NSString *)key;
@end