This commit is contained in:
JUNGGWAN KIM 2025-06-16 10:27:23 +09:00
parent 5a70698f50
commit 68b3d26994
5 changed files with 402 additions and 400 deletions

View File

@ -9,7 +9,7 @@
#import "CocoaSecurity.h"
#import <CommonCrypto/CommonHMAC.h>
#import <CommonCrypto/CommonCryptor.h>
#import "Base64.h"
//#import "Base64.h"
#pragma mark - CocoaSecurity
@implementation CocoaSecurity
@ -418,10 +418,10 @@
@implementation CocoaSecurityEncoder
// convert NSData to Base64
- (NSString *)base64:(NSData *)data
{
return [data base64EncodedString];
}
//- (NSString *)base64:(NSData *)data
//{
// return [data base64EncodedString];
//}
// convert NSData to hex string
- (NSString *)hex:(NSData *)data useLower:(BOOL)isOutputLower
@ -457,6 +457,8 @@
NSString *result = [NSString stringWithCString:resultData encoding:NSASCIIStringEncoding];
sourceData = nil;
free(resultData);
return result;
}
@ -465,10 +467,10 @@
#pragma mark - CocoaSecurityDecoder
@implementation CocoaSecurityDecoder
- (NSData *)base64:(NSString *)string
{
return [NSData dataWithBase64EncodedString:string];
}
//- (NSData *)base64:(NSString *)string
//{
// return [NSData dataWithBase64EncodedString:string];
//}
- (NSData *)hex:(NSString *)data
{
if (data.length == 0) { return nil; }

View File

@ -1,65 +1,65 @@
////
//// CocoaSecurityDecoder_Tests.m
//// CocoaSecurity
////
//// Created by Kelp on 2013/10/04.
////
////
//
// CocoaSecurityDecoder_Tests.m
// CocoaSecurity
//
// Created by Kelp on 2013/10/04.
//#import <XCTest/XCTest.h>
//#import "CocoaSecurity.h"
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityDecoder_Tests : XCTestCase {
CocoaSecurityDecoder *_decoder;
}
@end
@implementation CocoaSecurityDecoder_Tests
- (void)setUp
{
[super setUp];
_decoder = [CocoaSecurityDecoder new];
}
- (void)tearDown
{
// Put teardown code here; it will be run once, after the last test case.
[super tearDown];
}
- (void)testDecodeHex
{
NSData *expected = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
NSData *actual = [_decoder hex:@"414F"];
XCTAssertEqualObjects(expected, actual, @"");
actual = [_decoder hex:@"414f"];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testDecodeHexNil
{
NSData *actual = [_decoder hex:@""];
XCTAssertNil(actual, @"");
}
- (void)testDecodeBase64
{
NSData *expected = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
NSData *actual = [_decoder base64:@"c291cmNl"];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testDecodeBase64Nil
{
NSData *actual = [_decoder base64:@""];
XCTAssertNil(actual, @"");
}
@end
//@interface CocoaSecurityDecoder_Tests : XCTestCase {
// CocoaSecurityDecoder *_decoder;
//}
//
//@end
//
//
//
//@implementation CocoaSecurityDecoder_Tests
//
//- (void)setUp
//{
// [super setUp];
//
// _decoder = [CocoaSecurityDecoder new];
//}
//
//- (void)tearDown
//{
// // Put teardown code here; it will be run once, after the last test case.
// [super tearDown];
//}
//
//- (void)testDecodeHex
//{
// NSData *expected = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
// NSData *actual = [_decoder hex:@"414F"];
// XCTAssertEqualObjects(expected, actual, @"");
//
// actual = [_decoder hex:@"414f"];
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testDecodeHexNil
//{
// NSData *actual = [_decoder hex:@""];
// XCTAssertNil(actual, @"");
//}
//
//- (void)testDecodeBase64
//{
// NSData *expected = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
// NSData *actual = [_decoder base64:@"c291cmNl"];
// XCTAssertEqualObjects(expected, actual, @"");
//}
//- (void)testDecodeBase64Nil
//{
// NSData *actual = [_decoder base64:@""];
// XCTAssertNil(actual, @"");
//}
//
//
//@end

View File

@ -1,69 +1,69 @@
////
//// CocoaSecurity_Tests.m
//// CocoaSecurity Tests
////
//// Created by Kelp on 2013/10/04.
////
////
//
// CocoaSecurity_Tests.m
// CocoaSecurity Tests
//
// Created by Kelp on 2013/10/04.
//#import <XCTest/XCTest.h>
//#import "CocoaSecurity.h"
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurityEncoder_Tests : XCTestCase {
CocoaSecurityEncoder *_encoder;
}
@end
@implementation CocoaSecurityEncoder_Tests
- (void)setUp
{
[super setUp];
_encoder = [CocoaSecurityEncoder new];
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testEncodeHex
{
NSString *expected = @"414F";
NSData *data = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
NSString *actual = [_encoder hex:data useLower:NO];
XCTAssertEqualObjects(expected, actual, @"");
expected = @"414f";
actual = [_encoder hex:data useLower:YES];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testEncodeHexNil
{
NSString *actual = [_encoder hex:[NSData new] useLower:YES];
XCTAssertNil(actual, @"");
}
- (void)testEncodeBase64
{
NSString *expected = @"c291cmNl";
NSData *data = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
NSString *actual = [_encoder base64:data];
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testEncodeBase64Nil
{
NSString *actual = [_encoder base64:[NSData new]];
XCTAssertNil(actual, @"");
}
@end
//@interface CocoaSecurityEncoder_Tests : XCTestCase {
// CocoaSecurityEncoder *_encoder;
//}
//@end
//
//
//
//@implementation CocoaSecurityEncoder_Tests
//
//- (void)setUp
//{
// [super setUp];
//
// _encoder = [CocoaSecurityEncoder new];
//}
//
//- (void)tearDown
//{
// // Put teardown code here. This method is called after the invocation of each test method in the class.
// [super tearDown];
//}
//
//
//- (void)testEncodeHex
//{
// NSString *expected = @"414F";
// NSData *data = [@"AO" dataUsingEncoding:NSUTF8StringEncoding];
// NSString *actual = [_encoder hex:data useLower:NO];
// XCTAssertEqualObjects(expected, actual, @"");
//
// expected = @"414f";
// actual = [_encoder hex:data useLower:YES];
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testEncodeHexNil
//{
// NSString *actual = [_encoder hex:[NSData new] useLower:YES];
// XCTAssertNil(actual, @"");
//}
//
//- (void)testEncodeBase64
//{
// NSString *expected = @"c291cmNl";
// NSData *data = [@"source" dataUsingEncoding:NSUTF8StringEncoding];
// NSString *actual = [_encoder base64:data];
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testEncodeBase64Nil
//{
// NSString *actual = [_encoder base64:[NSData new]];
// XCTAssertNil(actual, @"");
//}
//
//
//@end

View File

@ -1,71 +1,71 @@
////
//// CocoaSecurityResult_Test.m
//// CocoaSecurity
////
//// Created by Kelp on 2013/10/04.
////
////
//
// CocoaSecurityResult_Test.m
// CocoaSecurity
//
// Created by Kelp on 2013/10/04.
//#import <XCTest/XCTest.h>
//# import "CocoaSecurity.h"
//
//
#import <XCTest/XCTest.h>
# import "CocoaSecurity.h"
@interface CocoaSecurityResult_Test : XCTestCase {
unsigned char *_data;
CocoaSecurityResult *_result;
}
@end
@implementation CocoaSecurityResult_Test
- (void)setUp
{
[super setUp];
unsigned char data[] =
{
0xcd, 0x3d, 0x4f, 0x4b, 0xae, 0x0c, 0x9d, 0x72,
0x14, 0x0c, 0x25, 0x22, 0xcb, 0x5d, 0xd1, 0x46
};
_data = malloc(16);
memcpy(_data, data, 16);
_result = [[CocoaSecurityResult alloc] initWithBytes:_data length:16];
}
- (void)tearDown
{
// Put teardown code here; it will be run once, after the last test case.
[super tearDown];
}
- (void)testBase64
{
NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
NSString *actual = _result.base64;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHex
{
NSString *expected = @"CD3D4F4BAE0C9D72140C2522CB5DD146";
NSString *actual = _result.hex;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHexLower
{
NSString *expected = @"cd3d4f4bae0c9d72140c2522cb5dd146";
NSString *actual = _result.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testData
{
NSData *expected = [NSData dataWithBytes:_data length:16];
NSData *actual = _result.data;
XCTAssertEqualObjects(expected, actual, @"");
}
@end
//@interface CocoaSecurityResult_Test : XCTestCase {
// unsigned char *_data;
// CocoaSecurityResult *_result;
//}
//
//@end
//
//@implementation CocoaSecurityResult_Test
//
//- (void)setUp
//{
// [super setUp];
//
// unsigned char data[] =
// {
// 0xcd, 0x3d, 0x4f, 0x4b, 0xae, 0x0c, 0x9d, 0x72,
// 0x14, 0x0c, 0x25, 0x22, 0xcb, 0x5d, 0xd1, 0x46
// };
// _data = malloc(16);
// memcpy(_data, data, 16);
// _result = [[CocoaSecurityResult alloc] initWithBytes:_data length:16];
//}
//
//- (void)tearDown
//{
// // Put teardown code here; it will be run once, after the last test case.
// [super tearDown];
//}
//
//- (void)testBase64
//{
// NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
// NSString *actual = _result.base64;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHex
//{
// NSString *expected = @"CD3D4F4BAE0C9D72140C2522CB5DD146";
// NSString *actual = _result.hex;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHexLower
//{
// NSString *expected = @"cd3d4f4bae0c9d72140c2522cb5dd146";
// NSString *actual = _result.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testData
//{
// NSData *expected = [NSData dataWithBytes:_data length:16];
// NSData *actual = _result.data;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//
//@end

View File

@ -1,198 +1,198 @@
////
//// CocoaSecurity_Tests.m
//// CocoaSecurity Tests
////
//// Created by Kelp on 2013/10/04.
////
////
//
// CocoaSecurity_Tests.m
// CocoaSecurity Tests
//
// Created by Kelp on 2013/10/04.
//#import <XCTest/XCTest.h>
//#import "CocoaSecurity.h"
//
//
#import <XCTest/XCTest.h>
#import "CocoaSecurity.h"
@interface CocoaSecurity_Tests : XCTestCase
@end
@implementation CocoaSecurity_Tests
- (void)setUp
{
[super setUp];
// Put setup code here. This method is called before the invocation of each test method in the class.
}
- (void)tearDown
{
// Put teardown code here. This method is called after the invocation of each test method in the class.
[super tearDown];
}
- (void)testEncryptAES128
{
NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAES192
{
NSString *expected = @"zSpp/l/B/Gp+j0vByqcTVg==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAES256
{
NSString *expected = @"WQYg5qvcGyCBY3IF0hPsoQ==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testEncryptAESDefault
{
NSString *expected = @"ez9uubPneV1d2+rpjnabJw==";
CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp" key:@"key"];
XCTAssertEqualObjects(expected, actual.base64, @"");
}
- (void)testDecryptAES128
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zT1PS64MnXIUDCUiy13RRg=="
hexKey:@"C40C69779E15780ADAE46C45EB451E23"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAES192
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zSpp/l/B/Gp+j0vByqcTVg=="
hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAES256
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"WQYg5qvcGyCBY3IF0hPsoQ=="
hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testDecryptAESDefault
{
NSString *expected = @"kelp";
CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"ez9uubPneV1d2+rpjnabJw==" key:@"key"];
XCTAssertEqualObjects(expected, actual.utf8String, @"");
}
- (void)testMD5
{
NSString *expected = @"C40C69779E15780ADAE46C45EB451E23";
CocoaSecurityResult *md5 = [CocoaSecurity md5:@"kelp"];
NSString *actual = md5.hex;
XCTAssertEqualObjects(expected, actual , @"");
}
- (void)testHmacMD5
{
NSString *expected = @"2DFF352719234D5D6A9839FD8F43C8D2";
CocoaSecurityResult *hmacMd5 = [CocoaSecurity hmacMd5:@"kelp" hmacKey:@"key"];
NSString *actual = hmacMd5.hex;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA1
{
NSString *expected = @"70b6a0495fb444a63297c83de187b1730a18e85a";
CocoaSecurityResult *sha1 = [CocoaSecurity sha1:@"kelp"];
NSString *actual = sha1.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA224
{
NSString *expected = @"1e124576cebf14ecdac30b8ca05ff94deb343f54ebb0eab21559dcf1";
CocoaSecurityResult *sha224 = [CocoaSecurity sha224:@"kelp"];
NSString *actual = sha224.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA256
{
NSString *expected = @"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9";
CocoaSecurityResult *sha256 = [CocoaSecurity sha256:@"kelp"];
NSString *actual = sha256.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA384
{
NSString *expected = @"e0801e06e6eea6257018bc0f2aaf1f7ec23385ce2ac9865fe209322262f323e80c81f65e711e30d162af5638ef8b4334";
CocoaSecurityResult *sha384 = [CocoaSecurity sha384:@"kelp"];
NSString *actual = sha384.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testSHA512
{
NSString *expected = @"af8489a9fb6dcb8973515cdda3366c939ebcc8ac8fb0a7c322f1333babe03655222930ad48b4924f1a1f13c23856bc3c2e1b93cb10c74e72362e5457756517ff";
CocoaSecurityResult *sha512 = [CocoaSecurity sha512:@"kelp"];
NSString *actual = sha512.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA1
{
NSString *expected = @"fae888da051e44eb0c57f43935ad82cdbedf482f";
CocoaSecurityResult *sha1 = [CocoaSecurity hmacSha1:@"kelp" hmacKey:@"key"];
NSString *actual = sha1.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA224
{
NSString *expected = @"4777556ee573705fcf6194de22947e09562653a84684c4b015a91e0c";
CocoaSecurityResult *sha224 = [CocoaSecurity hmacSha224:@"kelp" hmacKey:@"key"];
NSString *actual = sha224.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA256
{
NSString *expected = @"09e6c01ee44e4fc87871d3d8eb5265b67a941e9bf68d1b33851aeeed0114cd33";
CocoaSecurityResult *sha256 = [CocoaSecurity hmacSha256:@"kelp" hmacKey:@"key"];
NSString *actual = sha256.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA384
{
NSString *expected = @"99f2a12918f5e0c7e21ef4759ecb8dd882c95af32a204ac83928aa413e1d8e9ed312c29c41e2f3c00a78d448df11d15e";
CocoaSecurityResult *sha384 = [CocoaSecurity hmacSha384:@"kelp" hmacKey:@"key"];
NSString *actual = sha384.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
- (void)testHmacSHA512
{
NSString *expected = @"3807619fdaa2dd77e3dd554a627284406000a5c924db72202af0e6b1832789a94bacc710dc2b7da61fbfd6e1065dfe39085a872538f5b19fde112092c90d893a";
CocoaSecurityResult *sha512 = [CocoaSecurity hmacSha512:@"kelp" hmacKey:@"key"];
NSString *actual = sha512.hexLower;
XCTAssertEqualObjects(expected, actual, @"");
}
@end
//@interface CocoaSecurity_Tests : XCTestCase
//
//@end
//
//
//
//@implementation CocoaSecurity_Tests
//
//- (void)setUp
//{
// [super setUp];
// // Put setup code here. This method is called before the invocation of each test method in the class.
//}
//
//- (void)tearDown
//{
// // Put teardown code here. This method is called after the invocation of each test method in the class.
// [super tearDown];
//}
//
//- (void)testEncryptAES128
//{
// NSString *expected = @"zT1PS64MnXIUDCUiy13RRg==";
// CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
// hexKey:@"C40C69779E15780ADAE46C45EB451E23"
// hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
// XCTAssertEqualObjects(expected, actual.base64, @"");
//}
//
//- (void)testEncryptAES192
//{
// NSString *expected = @"zSpp/l/B/Gp+j0vByqcTVg==";
// CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
// hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
// hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
// XCTAssertEqualObjects(expected, actual.base64, @"");
//}
//
//- (void)testEncryptAES256
//{
// NSString *expected = @"WQYg5qvcGyCBY3IF0hPsoQ==";
// CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp"
// hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
// hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
// XCTAssertEqualObjects(expected, actual.base64, @"");
//}
//
//- (void)testEncryptAESDefault
//{
// NSString *expected = @"ez9uubPneV1d2+rpjnabJw==";
// CocoaSecurityResult *actual = [CocoaSecurity aesEncrypt:@"kelp" key:@"key"];
// XCTAssertEqualObjects(expected, actual.base64, @"");
//}
//
//- (void)testDecryptAES128
//{
// NSString *expected = @"kelp";
// CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zT1PS64MnXIUDCUiy13RRg=="
// hexKey:@"C40C69779E15780ADAE46C45EB451E23"
// hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
// XCTAssertEqualObjects(expected, actual.utf8String, @"");
//}
//
//- (void)testDecryptAES192
//{
// NSString *expected = @"kelp";
// CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"zSpp/l/B/Gp+j0vByqcTVg=="
// hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000"
// hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
// XCTAssertEqualObjects(expected, actual.utf8String, @"");
//}
//
//- (void)testDecryptAES256
//{
// NSString *expected = @"kelp";
// CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"WQYg5qvcGyCBY3IF0hPsoQ=="
// hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9"
// hexIv:@"CC0A69779E15780ADAE46C45EB451A23"];
// XCTAssertEqualObjects(expected, actual.utf8String, @"");
//}
//
//- (void)testDecryptAESDefault
//{
// NSString *expected = @"kelp";
// CocoaSecurityResult *actual = [CocoaSecurity aesDecryptWithBase64:@"ez9uubPneV1d2+rpjnabJw==" key:@"key"];
// XCTAssertEqualObjects(expected, actual.utf8String, @"");
//}
//
//- (void)testMD5
//{
// NSString *expected = @"C40C69779E15780ADAE46C45EB451E23";
// CocoaSecurityResult *md5 = [CocoaSecurity md5:@"kelp"];
// NSString *actual = md5.hex;
// XCTAssertEqualObjects(expected, actual , @"");
//}
//
//- (void)testHmacMD5
//{
// NSString *expected = @"2DFF352719234D5D6A9839FD8F43C8D2";
// CocoaSecurityResult *hmacMd5 = [CocoaSecurity hmacMd5:@"kelp" hmacKey:@"key"];
// NSString *actual = hmacMd5.hex;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testSHA1
//{
// NSString *expected = @"70b6a0495fb444a63297c83de187b1730a18e85a";
// CocoaSecurityResult *sha1 = [CocoaSecurity sha1:@"kelp"];
// NSString *actual = sha1.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testSHA224
//{
// NSString *expected = @"1e124576cebf14ecdac30b8ca05ff94deb343f54ebb0eab21559dcf1";
// CocoaSecurityResult *sha224 = [CocoaSecurity sha224:@"kelp"];
// NSString *actual = sha224.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testSHA256
//{
// NSString *expected = @"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9";
// CocoaSecurityResult *sha256 = [CocoaSecurity sha256:@"kelp"];
// NSString *actual = sha256.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testSHA384
//{
// NSString *expected = @"e0801e06e6eea6257018bc0f2aaf1f7ec23385ce2ac9865fe209322262f323e80c81f65e711e30d162af5638ef8b4334";
// CocoaSecurityResult *sha384 = [CocoaSecurity sha384:@"kelp"];
// NSString *actual = sha384.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testSHA512
//{
// NSString *expected = @"af8489a9fb6dcb8973515cdda3366c939ebcc8ac8fb0a7c322f1333babe03655222930ad48b4924f1a1f13c23856bc3c2e1b93cb10c74e72362e5457756517ff";
// CocoaSecurityResult *sha512 = [CocoaSecurity sha512:@"kelp"];
// NSString *actual = sha512.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHmacSHA1
//{
// NSString *expected = @"fae888da051e44eb0c57f43935ad82cdbedf482f";
// CocoaSecurityResult *sha1 = [CocoaSecurity hmacSha1:@"kelp" hmacKey:@"key"];
// NSString *actual = sha1.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHmacSHA224
//{
// NSString *expected = @"4777556ee573705fcf6194de22947e09562653a84684c4b015a91e0c";
// CocoaSecurityResult *sha224 = [CocoaSecurity hmacSha224:@"kelp" hmacKey:@"key"];
// NSString *actual = sha224.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHmacSHA256
//{
// NSString *expected = @"09e6c01ee44e4fc87871d3d8eb5265b67a941e9bf68d1b33851aeeed0114cd33";
// CocoaSecurityResult *sha256 = [CocoaSecurity hmacSha256:@"kelp" hmacKey:@"key"];
// NSString *actual = sha256.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHmacSHA384
//{
// NSString *expected = @"99f2a12918f5e0c7e21ef4759ecb8dd882c95af32a204ac83928aa413e1d8e9ed312c29c41e2f3c00a78d448df11d15e";
// CocoaSecurityResult *sha384 = [CocoaSecurity hmacSha384:@"kelp" hmacKey:@"key"];
// NSString *actual = sha384.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//- (void)testHmacSHA512
//{
// NSString *expected = @"3807619fdaa2dd77e3dd554a627284406000a5c924db72202af0e6b1832789a94bacc710dc2b7da61fbfd6e1065dfe39085a872538f5b19fde112092c90d893a";
// CocoaSecurityResult *sha512 = [CocoaSecurity hmacSha512:@"kelp" hmacKey:@"key"];
// NSString *actual = sha512.hexLower;
// XCTAssertEqualObjects(expected, actual, @"");
//}
//
//
//@endå