CocoaSecurity/CocoaSecurity/CocoaSecurity.h
2012-05-15 06:33:32 +08:00

81 lines
3.6 KiB
Objective-C

//
// CocoaSecurity.h
//
// Created by Kelp on 12/5/12.
// Copyright (c) 2012 Kelp http://kelp.phate.org/
//
#import <Foundation/Foundation.h>
#import <Foundation/NSException.h>
#import "CocoaSecurity-GTMBase64.h"
#import <CommonCrypto/CommonHMAC.h>
#import <CommonCrypto/CommonCryptor.h>
#pragma mark - CocoaSecurityResult
@interface CocoaSecurityResult : NSObject
@property (retain) NSData *data;
@property (retain, readonly) NSString *utf8String;
@property (retain, readonly) NSString *hex;
@property (retain, readonly) NSString *hexLower;
@property (retain, readonly) NSString *base64;
- (id)initWithBytes: (unsigned char[])initData length: (uint) length;
@end
#pragma mark - CocoaSecurity
@interface CocoaSecurity : NSObject
#pragma mark - AES Encrypt
- (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSString *)key;
- (CocoaSecurityResult *)aesEncrypt:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv;
- (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSData *)key iv:(NSData *)iv;
- (CocoaSecurityResult *)aesEncryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv;
#pragma mark AES Decrypt
- (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSString *)key;
- (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv;
- (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSData *)key iv:(NSData *)iv;
- (CocoaSecurityResult *)aesDecryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv;
#pragma mark - MD5
- (CocoaSecurityResult *)md5: (NSString *)hashString;
- (CocoaSecurityResult *)md5WithData: (NSData *)hashData;
#pragma mark HMAC-MD5
- (CocoaSecurityResult *)hmacMd5: (NSString *)hashString hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacMd5WithData: (NSData *)hashData hmacKey:(NSString *)key;
#pragma mark - SHA
- (CocoaSecurityResult *)sha1: (NSString *)hashString;
- (CocoaSecurityResult *)sha1WithData: (NSData *)hashData;
- (CocoaSecurityResult *)sha224: (NSString *)hashString;
- (CocoaSecurityResult *)sha224WithData: (NSData *)hashData;
- (CocoaSecurityResult *)sha256: (NSString *)hashString;
- (CocoaSecurityResult *)sha256WithData: (NSData *)hashData;
- (CocoaSecurityResult *)sha384: (NSString *)hashString;
- (CocoaSecurityResult *)sha384WithData: (NSData *)hashData;
- (CocoaSecurityResult *)sha512: (NSString *)hashString;
- (CocoaSecurityResult *)sha512WithData: (NSData *)hashData;
#pragma mark HMAC-SHA
- (CocoaSecurityResult *)hmacSha1: (NSString *)hashString hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha1WithData: (NSData *)hashData hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha224: (NSString *)hashString hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha224WithData: (NSData *)hashData hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha256: (NSString *)hashString hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha256WithData: (NSData *)hashData hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha384: (NSString *)hashString hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha384WithData: (NSData *)hashData hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha512: (NSString *)hashString hmacKey:(NSString *)key;
- (CocoaSecurityResult *)hmacSha512WithData: (NSData *)hashData hmacKey:(NSString *)key;
@end
#pragma mark - CocoaSecurityEncoder
@interface CocoaSecurityEncoder : NSObject
- (NSString *)base64: (NSData *)data;
- (NSString *)hex: (NSData *)data useLower: (bool)isOutputLower;
@end
#pragma mark - CocoaSecurityDecoder
@interface CocoaSecurityDecoder : NSObject
- (NSData *)base64: (NSString *)data;
- (NSData *)hex: (NSString *)data;
@end