diff --git a/CocoaSecurity/CocoaSecurity.h b/CocoaSecurity/CocoaSecurity.h index 2e6766e..e574fbd 100644 --- a/CocoaSecurity/CocoaSecurity.h +++ b/CocoaSecurity/CocoaSecurity.h @@ -33,30 +33,18 @@ + (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; -- (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; -- (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; -- (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; -- (CocoaSecurityResult *)hmacMd5:(NSString *)hashString hmacKey:(NSString *)key; -- (CocoaSecurityResult *)hmacMd5WithData:(NSData *)hashData hmacKey:(NSString *)key; #pragma mark - SHA + (CocoaSecurityResult *)sha1:(NSString *)hashString; @@ -69,16 +57,6 @@ + (CocoaSecurityResult *)sha384WithData:(NSData *)hashData; + (CocoaSecurityResult *)sha512:(NSString *)hashString; + (CocoaSecurityResult *)sha512WithData:(NSData *)hashData; -- (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; @@ -90,16 +68,6 @@ + (CocoaSecurityResult *)hmacSha384WithData:(NSData *)hashData hmacKey:(NSString *)key; + (CocoaSecurityResult *)hmacSha512:(NSString *)hashString hmacKey:(NSString *)key; + (CocoaSecurityResult *)hmacSha512WithData:(NSData *)hashData hmacKey:(NSString *)key; -- (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 diff --git a/CocoaSecurity/CocoaSecurity.m b/CocoaSecurity/CocoaSecurity.m index 82d3c79..16a5564 100644 --- a/CocoaSecurity/CocoaSecurity.m +++ b/CocoaSecurity/CocoaSecurity.m @@ -17,11 +17,6 @@ #pragma mark - AES Encrypt // default AES Encrypt, key -> SHA384(key).sub(0, 32), iv -> SHA384(key).sub(32, 16) + (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesEncrypt:data key:key]; -} -- (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSString *)key { CocoaSecurityResult * sha = [self sha384:key]; NSData *aesKey = [sha.data subdataWithRange:NSMakeRange(0, 32)]; @@ -31,21 +26,6 @@ } #pragma mark AES Encrypt 128, 192, 256 + (CocoaSecurityResult *)aesEncrypt:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesEncrypt:data hexKey:key hexIv:iv]; -} -+ (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSData *)key iv:(NSData *)iv -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesEncrypt:data key:key iv:iv]; -} -+ (CocoaSecurityResult *)aesEncryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesEncryptWithData:data key:key iv:iv]; -} -- (CocoaSecurityResult *)aesEncrypt:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv { CocoaSecurityDecoder *decoder = [CocoaSecurityDecoder new]; NSData *aesKey = [decoder hex:key]; @@ -53,11 +33,11 @@ return [self aesEncrypt:data key:aesKey iv:aesIv]; } -- (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSData *)key iv:(NSData *)iv ++ (CocoaSecurityResult *)aesEncrypt:(NSString *)data key:(NSData *)key iv:(NSData *)iv { return [self aesEncryptWithData:[data dataUsingEncoding:NSUTF8StringEncoding] key:key iv:iv]; } -- (CocoaSecurityResult *)aesEncryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv ++ (CocoaSecurityResult *)aesEncryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv { // check length of key and iv if ([iv length] != 16) { @@ -105,11 +85,6 @@ #pragma mark - AES Decrypt // default AES Decrypt, key -> SHA384(key).sub(0, 32), iv -> SHA384(key).sub(32, 16) + (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesDecryptWithBase64:data key:key]; -} -- (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSString *)key { CocoaSecurityResult * sha = [self sha384:key]; NSData *aesKey = [sha.data subdataWithRange:NSMakeRange(0, 32)]; @@ -119,21 +94,6 @@ } #pragma mark AES Decrypt 128, 192, 256 + (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesDecryptWithBase64:data hexKey:key hexIv:iv]; -} -+ (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSData *)key iv:(NSData *)iv -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesDecryptWithBase64:data key:key iv:iv]; -} -+ (CocoaSecurityResult *)aesDecryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs aesDecryptWithData:data key:key iv:iv]; -} -- (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv { CocoaSecurityDecoder *decoder = [CocoaSecurityDecoder new]; NSData *aesKey = [decoder hex:key]; @@ -141,12 +101,12 @@ return [self aesDecryptWithBase64:data key:aesKey iv:aesIv]; } -- (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSData *)key iv:(NSData *)iv ++ (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSData *)key iv:(NSData *)iv { CocoaSecurityDecoder *decoder = [CocoaSecurityDecoder new]; return [self aesDecryptWithData:[decoder base64:data] key:key iv:iv]; } -- (CocoaSecurityResult *)aesDecryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv ++ (CocoaSecurityResult *)aesDecryptWithData:(NSData *)data key:(NSData *)key iv:(NSData *)iv { // check length of key and iv if ([iv length] != 16) { @@ -195,20 +155,10 @@ #pragma mark - MD5 + (CocoaSecurityResult *)md5:(NSString *)hashString -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs md5:hashString]; -} -+ (CocoaSecurityResult *)md5WithData:(NSData *)hashData -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs md5WithData:hashData]; -} -- (CocoaSecurityResult *)md5:(NSString *)hashString { return [self md5WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding]]; } -- (CocoaSecurityResult *)md5WithData:(NSData *)hashData ++ (CocoaSecurityResult *)md5WithData:(NSData *)hashData { unsigned char *digest; digest = malloc(CC_MD5_DIGEST_LENGTH); @@ -221,20 +171,10 @@ } #pragma mark - HMAC-MD5 + (CocoaSecurityResult *)hmacMd5:(NSString *)hashString hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacMd5:hashString hmacKey:key]; -} -+ (CocoaSecurityResult *)hmacMd5WithData:(NSData *)hashData hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacMd5WithData:hashData hmacKey:key]; -} -- (CocoaSecurityResult *)hmacMd5:(NSString *)hashString hmacKey:(NSString *)key { return [self hmacMd5WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; } -- (CocoaSecurityResult *)hmacMd5WithData:(NSData *)hashData hmacKey:(NSString *)key ++ (CocoaSecurityResult *)hmacMd5WithData:(NSData *)hashData hmacKey:(NSString *)key { unsigned char *digest; digest = malloc(CC_MD5_DIGEST_LENGTH); @@ -251,20 +191,10 @@ #pragma mark - SHA1 + (CocoaSecurityResult *)sha1:(NSString *)hashString -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha1:hashString]; -} -+ (CocoaSecurityResult *)sha1WithData:(NSData *)hashData -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha1WithData:hashData]; -} -- (CocoaSecurityResult *)sha1:(NSString *)hashString { return [self sha1WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding]]; } -- (CocoaSecurityResult *)sha1WithData:(NSData *)hashData ++ (CocoaSecurityResult *)sha1WithData:(NSData *)hashData { unsigned char *digest; digest = malloc(CC_SHA1_DIGEST_LENGTH); @@ -277,20 +207,10 @@ } #pragma mark SHA224 + (CocoaSecurityResult *)sha224:(NSString *)hashString -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha224:hashString]; -} -+ (CocoaSecurityResult *)sha224WithData:(NSData *)hashData -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha224WithData:hashData]; -} -- (CocoaSecurityResult *)sha224:(NSString *)hashString { return [self sha224WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding]]; } -- (CocoaSecurityResult *)sha224WithData:(NSData *)hashData ++ (CocoaSecurityResult *)sha224WithData:(NSData *)hashData { unsigned char *digest; digest = malloc(CC_SHA224_DIGEST_LENGTH); @@ -303,20 +223,10 @@ } #pragma mark SHA256 + (CocoaSecurityResult *)sha256:(NSString *)hashString -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha256:hashString]; -} -+ (CocoaSecurityResult *)sha256WithData:(NSData *)hashData -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha256WithData:hashData]; -} -- (CocoaSecurityResult *)sha256:(NSString *)hashString { return [self sha256WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding]]; } -- (CocoaSecurityResult *)sha256WithData:(NSData *)hashData ++ (CocoaSecurityResult *)sha256WithData:(NSData *)hashData { unsigned char *digest; digest = malloc(CC_SHA256_DIGEST_LENGTH); @@ -329,20 +239,10 @@ } #pragma mark SHA384 + (CocoaSecurityResult *)sha384:(NSString *)hashString -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha384:hashString]; -} -+ (CocoaSecurityResult *)sha384WithData:(NSData *)hashData -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha384WithData:hashData]; -} -- (CocoaSecurityResult *)sha384:(NSString *)hashString { return [self sha384WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding]]; } -- (CocoaSecurityResult *)sha384WithData:(NSData *)hashData ++ (CocoaSecurityResult *)sha384WithData:(NSData *)hashData { unsigned char *digest; digest = malloc(CC_SHA384_DIGEST_LENGTH); @@ -355,20 +255,10 @@ } #pragma mark SHA512 + (CocoaSecurityResult *)sha512:(NSString *)hashString -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha512:hashString]; -} -+ (CocoaSecurityResult *)sha512WithData:(NSData *)hashData -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs sha512WithData:hashData]; -} -- (CocoaSecurityResult *)sha512:(NSString *)hashString { return [self sha512WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding]]; } -- (CocoaSecurityResult *)sha512WithData:(NSData *)hashData ++ (CocoaSecurityResult *)sha512WithData:(NSData *)hashData { unsigned char *digest; digest = malloc(CC_SHA512_DIGEST_LENGTH); @@ -383,20 +273,10 @@ #pragma mark - HMAC-SHA1 + (CocoaSecurityResult *)hmacSha1:(NSString *)hashString hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha1:hashString hmacKey:key]; -} -+ (CocoaSecurityResult *)hmacSha1WithData:(NSData *)hashData hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha1WithData:hashData hmacKey:key]; -} -- (CocoaSecurityResult *)hmacSha1:(NSString *)hashString hmacKey:(NSString *)key { return [self hmacSha1WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; } -- (CocoaSecurityResult *)hmacSha1WithData:(NSData *)hashData hmacKey:(NSString *)key ++ (CocoaSecurityResult *)hmacSha1WithData:(NSData *)hashData hmacKey:(NSString *)key { unsigned char *digest; digest = malloc(CC_SHA1_DIGEST_LENGTH); @@ -412,19 +292,9 @@ #pragma mark HMAC-SHA224 + (CocoaSecurityResult *)hmacSha224:(NSString *)hashString hmacKey:(NSString *)key { - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha224:hashString hmacKey:key]; + return [self hmacSha224WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; } + (CocoaSecurityResult *)hmacSha224WithData:(NSData *)hashData hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha224WithData:hashData hmacKey:key]; -} -- (CocoaSecurityResult *)hmacSha224:(NSString *)hashString hmacKey:(NSString *)key -{ - return [self hmacSha224WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; -} -- (CocoaSecurityResult *)hmacSha224WithData:(NSData *)hashData hmacKey:(NSString *)key { unsigned char *digest; digest = malloc(CC_SHA224_DIGEST_LENGTH); @@ -439,20 +309,10 @@ } #pragma mark HMAC-SHA256 + (CocoaSecurityResult *)hmacSha256:(NSString *)hashString hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha256:hashString hmacKey:key]; -} -+ (CocoaSecurityResult *)hmacSha256WithData:(NSData *)hashData hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha256WithData:hashData hmacKey:key]; -} -- (CocoaSecurityResult *)hmacSha256:(NSString *)hashString hmacKey:(NSString *)key { return [self hmacSha256WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; } -- (CocoaSecurityResult *)hmacSha256WithData:(NSData *)hashData hmacKey:(NSString *)key ++ (CocoaSecurityResult *)hmacSha256WithData:(NSData *)hashData hmacKey:(NSString *)key { unsigned char *digest; digest = malloc(CC_SHA256_DIGEST_LENGTH); @@ -467,20 +327,10 @@ } #pragma mark HMAC-SHA384 + (CocoaSecurityResult *)hmacSha384:(NSString *)hashString hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha384:hashString hmacKey:key]; -} -+ (CocoaSecurityResult *)hmacSha384WithData:(NSData *)hashData hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha384WithData:hashData hmacKey:key]; -} -- (CocoaSecurityResult *)hmacSha384:(NSString *)hashString hmacKey:(NSString *)key { return [self hmacSha384WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; } -- (CocoaSecurityResult *)hmacSha384WithData:(NSData *)hashData hmacKey:(NSString *)key ++ (CocoaSecurityResult *)hmacSha384WithData:(NSData *)hashData hmacKey:(NSString *)key { unsigned char *digest; digest = malloc(CC_SHA384_DIGEST_LENGTH); @@ -495,20 +345,10 @@ } #pragma mark HMAC-SHA512 + (CocoaSecurityResult *)hmacSha512:(NSString *)hashString hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha512:hashString hmacKey:key]; -} -+ (CocoaSecurityResult *)hmacSha512WithData:(NSData *)hashData hmacKey:(NSString *)key -{ - CocoaSecurity *cs = [CocoaSecurity new]; - return [cs hmacSha512WithData:hashData hmacKey:key]; -} -- (CocoaSecurityResult *)hmacSha512:(NSString *)hashString hmacKey:(NSString *)key { return [self hmacSha512WithData:[hashString dataUsingEncoding:NSUTF8StringEncoding] hmacKey:key]; } -- (CocoaSecurityResult *)hmacSha512WithData:(NSData *)hashData hmacKey:(NSString *)key ++ (CocoaSecurityResult *)hmacSha512WithData:(NSData *)hashData hmacKey:(NSString *)key { unsigned char *digest; digest = malloc(CC_SHA512_DIGEST_LENGTH);