diff --git a/CocoaSecurityTests/CocoaSecurityTests-Info.plist b/CocoaSecurity Tests/CocoaSecurity Tests-Info.plist similarity index 100% rename from CocoaSecurityTests/CocoaSecurityTests-Info.plist rename to CocoaSecurity Tests/CocoaSecurity Tests-Info.plist diff --git a/CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch b/CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch new file mode 100644 index 0000000..eb2007e --- /dev/null +++ b/CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch @@ -0,0 +1,9 @@ +// +// Prefix header +// +// The contents of this file are implicitly included at the beginning of every source file. +// + +#ifdef __OBJC__ + #import +#endif diff --git a/CocoaSecurity Tests/CocoaSecurityDecoder_Tests.m b/CocoaSecurity Tests/CocoaSecurityDecoder_Tests.m new file mode 100644 index 0000000..2257a5f --- /dev/null +++ b/CocoaSecurity Tests/CocoaSecurityDecoder_Tests.m @@ -0,0 +1,65 @@ +// +// CocoaSecurityDecoder_Tests.m +// CocoaSecurity +// +// Created by Kelp on 2013/10/04. +// +// + +#import +#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 diff --git a/CocoaSecurity Tests/CocoaSecurityEncoder_Tests.m b/CocoaSecurity Tests/CocoaSecurityEncoder_Tests.m new file mode 100644 index 0000000..7282f30 --- /dev/null +++ b/CocoaSecurity Tests/CocoaSecurityEncoder_Tests.m @@ -0,0 +1,69 @@ +// +// CocoaSecurity_Tests.m +// CocoaSecurity Tests +// +// Created by Kelp on 2013/10/04. +// +// + +#import +#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 diff --git a/CocoaSecurity Tests/CocoaSecurityResult_Test.m b/CocoaSecurity Tests/CocoaSecurityResult_Test.m new file mode 100644 index 0000000..9cb2ec8 --- /dev/null +++ b/CocoaSecurity Tests/CocoaSecurityResult_Test.m @@ -0,0 +1,71 @@ +// +// CocoaSecurityResult_Test.m +// CocoaSecurity +// +// Created by Kelp on 2013/10/04. +// +// + +#import +# 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 diff --git a/CocoaSecurity Tests/CocoaSecurity_Tests.m b/CocoaSecurity Tests/CocoaSecurity_Tests.m new file mode 100644 index 0000000..b207d2d --- /dev/null +++ b/CocoaSecurity Tests/CocoaSecurity_Tests.m @@ -0,0 +1,198 @@ +// +// CocoaSecurity_Tests.m +// CocoaSecurity Tests +// +// Created by Kelp on 2013/10/04. +// +// + +#import +#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 diff --git a/CocoaSecurityTests/en.lproj/InfoPlist.strings b/CocoaSecurity Tests/en.lproj/InfoPlist.strings similarity index 100% rename from CocoaSecurityTests/en.lproj/InfoPlist.strings rename to CocoaSecurity Tests/en.lproj/InfoPlist.strings diff --git a/CocoaSecurity.xcodeproj/project.pbxproj b/CocoaSecurity.xcodeproj/project.pbxproj index c8234bf..cb2eb98 100644 --- a/CocoaSecurity.xcodeproj/project.pbxproj +++ b/CocoaSecurity.xcodeproj/project.pbxproj @@ -10,16 +10,18 @@ 2113923B16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; }; 2113924016EAD6AF00AFDF87 /* CocoaSecurity.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2113923F16EAD6AF00AFDF87 /* CocoaSecurity.h */; }; 2113924216EAD6AF00AFDF87 /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; }; - 2113924A16EAD6AF00AFDF87 /* SenTestingKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */; }; - 2113924C16EAD6AF00AFDF87 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113924B16EAD6AF00AFDF87 /* UIKit.framework */; }; - 2113924D16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; }; - 2113925016EAD6AF00AFDF87 /* libCocoaSecurity.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */; }; - 2113925616EAD6AF00AFDF87 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 2113925416EAD6AF00AFDF87 /* InfoPlist.strings */; }; - 2113925916EAD6AF00AFDF87 /* CocoaSecurityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113925816EAD6AF00AFDF87 /* CocoaSecurityTests.m */; }; + 2164336617FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */; }; + 2164336817FEB8B0006C71F4 /* CocoaSecurityResult_Test.m in Sources */ = {isa = PBXBuildFile; fileRef = 2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */; }; + 21BB8A2F17FEA0EC0032C38C /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 21BB8A2E17FEA0EC0032C38C /* XCTest.framework */; }; + 21BB8A3017FEA0EC0032C38C /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2113923A16EAD6AF00AFDF87 /* Foundation.framework */; }; + 21BB8A3717FEA0EC0032C38C /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */; }; + 21BB8A3917FEA0EC0032C38C /* CocoaSecurity_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */; }; + 21BB8A4017FEA5190032C38C /* CocoaSecurity.m in Sources */ = {isa = PBXBuildFile; fileRef = 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */; }; + 21BB8A4317FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 2113924E16EAD6AF00AFDF87 /* PBXContainerItemProxy */ = { + 21BB8A3B17FEA0EC0032C38C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 2113922F16EAD6AF00AFDF87 /* Project object */; proxyType = 1; @@ -46,13 +48,17 @@ 2113923A16EAD6AF00AFDF87 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 2113923F16EAD6AF00AFDF87 /* CocoaSecurity.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CocoaSecurity.h; sourceTree = ""; }; 2113924116EAD6AF00AFDF87 /* CocoaSecurity.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity.m; sourceTree = ""; }; - 2113924816EAD6AF00AFDF87 /* CocoaSecurityTests.octest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = CocoaSecurityTests.octest; sourceTree = BUILT_PRODUCTS_DIR; }; 2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SenTestingKit.framework; path = Library/Frameworks/SenTestingKit.framework; sourceTree = DEVELOPER_DIR; }; 2113924B16EAD6AF00AFDF87 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - 2113925316EAD6AF00AFDF87 /* CocoaSecurityTests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CocoaSecurityTests-Info.plist"; sourceTree = ""; }; - 2113925516EAD6AF00AFDF87 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 2113925716EAD6AF00AFDF87 /* CocoaSecurityTests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CocoaSecurityTests.h; sourceTree = ""; }; - 2113925816EAD6AF00AFDF87 /* CocoaSecurityTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityTests.m; sourceTree = ""; }; + 2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityDecoder_Tests.m; sourceTree = ""; }; + 2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityResult_Test.m; sourceTree = ""; }; + 21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "CocoaSecurity Tests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 21BB8A2E17FEA0EC0032C38C /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; + 21BB8A3417FEA0EC0032C38C /* CocoaSecurity Tests-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "CocoaSecurity Tests-Info.plist"; sourceTree = ""; }; + 21BB8A3617FEA0EC0032C38C /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurity_Tests.m; sourceTree = ""; }; + 21BB8A3A17FEA0EC0032C38C /* CocoaSecurity Tests-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CocoaSecurity Tests-Prefix.pch"; sourceTree = ""; }; + 21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CocoaSecurityEncoder_Tests.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -64,14 +70,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 2113924416EAD6AF00AFDF87 /* Frameworks */ = { + 21BB8A2A17FEA0EC0032C38C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2113924A16EAD6AF00AFDF87 /* SenTestingKit.framework in Frameworks */, - 2113924C16EAD6AF00AFDF87 /* UIKit.framework in Frameworks */, - 2113924D16EAD6AF00AFDF87 /* Foundation.framework in Frameworks */, - 2113925016EAD6AF00AFDF87 /* libCocoaSecurity.a in Frameworks */, + 21BB8A2F17FEA0EC0032C38C /* XCTest.framework in Frameworks */, + 21BB8A3017FEA0EC0032C38C /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -82,7 +86,7 @@ isa = PBXGroup; children = ( 2113923C16EAD6AF00AFDF87 /* CocoaSecurity */, - 2113925116EAD6AF00AFDF87 /* CocoaSecurityTests */, + 21BB8A3217FEA0EC0032C38C /* CocoaSecurity Tests */, 2113923916EAD6AF00AFDF87 /* Frameworks */, 2113923816EAD6AF00AFDF87 /* Products */, ); @@ -92,7 +96,7 @@ isa = PBXGroup; children = ( 2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */, - 2113924816EAD6AF00AFDF87 /* CocoaSecurityTests.octest */, + 21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */, ); name = Products; sourceTree = ""; @@ -103,6 +107,7 @@ 2113923A16EAD6AF00AFDF87 /* Foundation.framework */, 2113924916EAD6AF00AFDF87 /* SenTestingKit.framework */, 2113924B16EAD6AF00AFDF87 /* UIKit.framework */, + 21BB8A2E17FEA0EC0032C38C /* XCTest.framework */, ); name = Frameworks; sourceTree = ""; @@ -116,21 +121,24 @@ path = CocoaSecurity; sourceTree = ""; }; - 2113925116EAD6AF00AFDF87 /* CocoaSecurityTests */ = { + 21BB8A3217FEA0EC0032C38C /* CocoaSecurity Tests */ = { isa = PBXGroup; children = ( - 2113925716EAD6AF00AFDF87 /* CocoaSecurityTests.h */, - 2113925816EAD6AF00AFDF87 /* CocoaSecurityTests.m */, - 2113925216EAD6AF00AFDF87 /* Supporting Files */, + 21BB8A3817FEA0EC0032C38C /* CocoaSecurity_Tests.m */, + 21BB8A4217FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m */, + 2164336517FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m */, + 2164336717FEB8B0006C71F4 /* CocoaSecurityResult_Test.m */, + 21BB8A3317FEA0EC0032C38C /* Supporting Files */, ); - path = CocoaSecurityTests; + path = "CocoaSecurity Tests"; sourceTree = ""; }; - 2113925216EAD6AF00AFDF87 /* Supporting Files */ = { + 21BB8A3317FEA0EC0032C38C /* Supporting Files */ = { isa = PBXGroup; children = ( - 2113925316EAD6AF00AFDF87 /* CocoaSecurityTests-Info.plist */, - 2113925416EAD6AF00AFDF87 /* InfoPlist.strings */, + 21BB8A3417FEA0EC0032C38C /* CocoaSecurity Tests-Info.plist */, + 21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */, + 21BB8A3A17FEA0EC0032C38C /* CocoaSecurity Tests-Prefix.pch */, ); name = "Supporting Files"; sourceTree = ""; @@ -155,24 +163,23 @@ productReference = 2113923716EAD6AF00AFDF87 /* libCocoaSecurity.a */; productType = "com.apple.product-type.library.static"; }; - 2113924716EAD6AF00AFDF87 /* CocoaSecurityTests */ = { + 21BB8A2C17FEA0EC0032C38C /* CocoaSecurity Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = 2113925F16EAD6AF00AFDF87 /* Build configuration list for PBXNativeTarget "CocoaSecurityTests" */; + buildConfigurationList = 21BB8A3D17FEA0EC0032C38C /* Build configuration list for PBXNativeTarget "CocoaSecurity Tests" */; buildPhases = ( - 2113924316EAD6AF00AFDF87 /* Sources */, - 2113924416EAD6AF00AFDF87 /* Frameworks */, - 2113924516EAD6AF00AFDF87 /* Resources */, - 2113924616EAD6AF00AFDF87 /* ShellScript */, + 21BB8A2917FEA0EC0032C38C /* Sources */, + 21BB8A2A17FEA0EC0032C38C /* Frameworks */, + 21BB8A2B17FEA0EC0032C38C /* Resources */, ); buildRules = ( ); dependencies = ( - 2113924F16EAD6AF00AFDF87 /* PBXTargetDependency */, + 21BB8A3C17FEA0EC0032C38C /* PBXTargetDependency */, ); - name = CocoaSecurityTests; - productName = CocoaSecurityTests; - productReference = 2113924816EAD6AF00AFDF87 /* CocoaSecurityTests.octest */; - productType = "com.apple.product-type.bundle"; + name = "CocoaSecurity Tests"; + productName = "CocoaSecurity Tests"; + productReference = 21BB8A2D17FEA0EC0032C38C /* CocoaSecurity Tests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ @@ -181,6 +188,11 @@ isa = PBXProject; attributes = { LastUpgradeCheck = 0460; + TargetAttributes = { + 21BB8A2C17FEA0EC0032C38C = { + TestTargetID = 2113923616EAD6AF00AFDF87; + }; + }; }; buildConfigurationList = 2113923216EAD6AF00AFDF87 /* Build configuration list for PBXProject "CocoaSecurity" */; compatibilityVersion = "Xcode 3.2"; @@ -195,38 +207,22 @@ projectRoot = ""; targets = ( 2113923616EAD6AF00AFDF87 /* CocoaSecurity */, - 2113924716EAD6AF00AFDF87 /* CocoaSecurityTests */, + 21BB8A2C17FEA0EC0032C38C /* CocoaSecurity Tests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 2113924516EAD6AF00AFDF87 /* Resources */ = { + 21BB8A2B17FEA0EC0032C38C /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2113925616EAD6AF00AFDF87 /* InfoPlist.strings in Resources */, + 21BB8A3717FEA0EC0032C38C /* InfoPlist.strings in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ -/* Begin PBXShellScriptBuildPhase section */ - 2113924616EAD6AF00AFDF87 /* ShellScript */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n"; - }; -/* End PBXShellScriptBuildPhase section */ - /* Begin PBXSourcesBuildPhase section */ 2113923316EAD6AF00AFDF87 /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -236,29 +232,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 2113924316EAD6AF00AFDF87 /* Sources */ = { + 21BB8A2917FEA0EC0032C38C /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2113925916EAD6AF00AFDF87 /* CocoaSecurityTests.m in Sources */, + 2164336617FEB509006C71F4 /* CocoaSecurityDecoder_Tests.m in Sources */, + 21BB8A4017FEA5190032C38C /* CocoaSecurity.m in Sources */, + 21BB8A3917FEA0EC0032C38C /* CocoaSecurity_Tests.m in Sources */, + 21BB8A4317FEB3ED0032C38C /* CocoaSecurityEncoder_Tests.m in Sources */, + 2164336817FEB8B0006C71F4 /* CocoaSecurityResult_Test.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 2113924F16EAD6AF00AFDF87 /* PBXTargetDependency */ = { + 21BB8A3C17FEA0EC0032C38C /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 2113923616EAD6AF00AFDF87 /* CocoaSecurity */; - targetProxy = 2113924E16EAD6AF00AFDF87 /* PBXContainerItemProxy */; + targetProxy = 21BB8A3B17FEA0EC0032C38C /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 2113925416EAD6AF00AFDF87 /* InfoPlist.strings */ = { + 21BB8A3517FEA0EC0032C38C /* InfoPlist.strings */ = { isa = PBXVariantGroup; children = ( - 2113925516EAD6AF00AFDF87 /* en */, + 21BB8A3617FEA0EC0032C38C /* en */, ); name = InfoPlist.strings; sourceTree = ""; @@ -343,33 +343,60 @@ }; name = Release; }; - 2113926016EAD6AF00AFDF87 /* Debug */ = { + 21BB8A3E17FEA0EC0032C38C /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; FRAMEWORK_SEARCH_PATHS = ( - "\"$(SDKROOT)/Developer/Library/Frameworks\"", - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", ); GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ""; - INFOPLIST_FILE = "CocoaSecurityTests/CocoaSecurityTests-Info.plist"; + GCC_PREFIX_HEADER = "CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch"; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "CocoaSecurity Tests/CocoaSecurity Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = octest; + WRAPPER_EXTENSION = xctest; }; name = Debug; }; - 2113926116EAD6AF00AFDF87 /* Release */ = { + 21BB8A3F17FEA0EC0032C38C /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ARCHS = "$(ARCHS_STANDARD_INCLUDING_64_BIT)"; + CLANG_ENABLE_MODULES = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + ENABLE_NS_ASSERTIONS = NO; FRAMEWORK_SEARCH_PATHS = ( - "\"$(SDKROOT)/Developer/Library/Frameworks\"", - "\"$(DEVELOPER_LIBRARY_DIR)/Frameworks\"", + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + "$(DEVELOPER_FRAMEWORKS_DIR)", ); GCC_PRECOMPILE_PREFIX_HEADER = YES; - GCC_PREFIX_HEADER = ""; - INFOPLIST_FILE = "CocoaSecurityTests/CocoaSecurityTests-Info.plist"; + GCC_PREFIX_HEADER = "CocoaSecurity Tests/CocoaSecurity Tests-Prefix.pch"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + INFOPLIST_FILE = "CocoaSecurity Tests/CocoaSecurity Tests-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 7.0; PRODUCT_NAME = "$(TARGET_NAME)"; - WRAPPER_EXTENSION = octest; + WRAPPER_EXTENSION = xctest; }; name = Release; }; @@ -394,11 +421,11 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2113925F16EAD6AF00AFDF87 /* Build configuration list for PBXNativeTarget "CocoaSecurityTests" */ = { + 21BB8A3D17FEA0EC0032C38C /* Build configuration list for PBXNativeTarget "CocoaSecurity Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 2113926016EAD6AF00AFDF87 /* Debug */, - 2113926116EAD6AF00AFDF87 /* Release */, + 21BB8A3E17FEA0EC0032C38C /* Debug */, + 21BB8A3F17FEA0EC0032C38C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/CocoaSecurityTests/CocoaSecurityTests.h b/CocoaSecurityTests/CocoaSecurityTests.h deleted file mode 100644 index e14b071..0000000 --- a/CocoaSecurityTests/CocoaSecurityTests.h +++ /dev/null @@ -1,14 +0,0 @@ -// -// CocoaSecurityTests.h -// CocoaSecurityTests -// -// Created by Kelp on 12/5/13. -// Copyright (c) 2012 Phate. All rights reserved. -// - -#import -#import "CocoaSecurity.h" - -@interface CocoaSecurityTests : SenTestCase - -@end diff --git a/CocoaSecurityTests/CocoaSecurityTests.m b/CocoaSecurityTests/CocoaSecurityTests.m deleted file mode 100644 index d99f5a3..0000000 --- a/CocoaSecurityTests/CocoaSecurityTests.m +++ /dev/null @@ -1,132 +0,0 @@ -// -// CocoaSecurityTests.m -// CocoaSecurityTests -// -// Created by Kelp on 12/5/13. -// Copyright (c) 2012 Phate. All rights reserved. -// - -#import "CocoaSecurityTests.h" - -@implementation CocoaSecurityTests - -- (void)setUp -{ - [super setUp]; - - // Set-up code here. -} - -- (void)tearDown -{ - // Tear-down code here. - - [super tearDown]; -} - -- (void)testEncodeDecode -{ - CocoaSecurityDecoder *decoder = [CocoaSecurityDecoder new]; - CocoaSecurityEncoder *encoder = [CocoaSecurityEncoder new]; - - // HEX - STAssertEqualObjects([encoder hex:[decoder hex:@"CC0A69779E15780ADAE46C45EB451A23"] useLower:false], - @"CC0A69779E15780ADAE46C45EB451A23", nil); - STAssertNil([encoder hex:[NSData new] useLower:YES], nil); - STAssertNil([decoder hex:@""], nil); - - // Base64 - STAssertEqualObjects([encoder base64:[decoder base64:@"zT1PS64MnXIUDCUiy13RRg=="]], @"zT1PS64MnXIUDCUiy13RRg==", nil); - STAssertNil([encoder base64:[NSData new]], nil); - STAssertNil([decoder base64:@""], nil); -} - -- (void)testAES -{ - // AES128 - CocoaSecurityResult *aes128 = [CocoaSecurity aesEncrypt:@"kelp" - hexKey:@"C40C69779E15780ADAE46C45EB451E23" - hexIv:@"CC0A69779E15780ADAE46C45EB451A23"]; - STAssertEqualObjects(aes128.base64, @"zT1PS64MnXIUDCUiy13RRg==", nil); - STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aes128.base64 - hexKey:@"C40C69779E15780ADAE46C45EB451E23" - hexIv:@"CC0A69779E15780ADAE46C45EB451A23"].utf8String, @"kelp", nil); - - // AES192 - CocoaSecurityResult *aes192 = [CocoaSecurity aesEncrypt:@"kelp" - hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000" - hexIv:@"CC0A69779E15780ADAE46C45EB451A23"]; - STAssertEqualObjects(aes192.base64, @"zSpp/l/B/Gp+j0vByqcTVg==", nil); - STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aes192.base64 - hexKey:@"C40C69779E15780ADAE46C45EB451E230000000000000000" - hexIv:@"CC0A69779E15780ADAE46C45EB451A23"].utf8String, @"kelp", nil); - - // AES256 - CocoaSecurityResult *aes256 = [CocoaSecurity aesEncrypt:@"kelp" - hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9" - hexIv:@"CC0A69779E15780ADAE46C45EB451A23"]; - STAssertEqualObjects(aes256.base64, @"WQYg5qvcGyCBY3IF0hPsoQ==", nil); - STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aes256.base64 - hexKey:@"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9" - hexIv:@"CC0A69779E15780ADAE46C45EB451A23"].utf8String, @"kelp", nil); - - // AES default - CocoaSecurityResult *aesDefault = [CocoaSecurity aesEncrypt:@"kelp" key:@"key"]; - STAssertEqualObjects(aesDefault.base64, @"ez9uubPneV1d2+rpjnabJw==", nil); - STAssertEqualObjects([CocoaSecurity aesDecryptWithBase64:aesDefault.base64 key:@"key"].utf8String, @"kelp", nil); -} - -- (void)testMD5 -{ - CocoaSecurityResult *md5 = [CocoaSecurity md5:@"kelp"]; - CocoaSecurityResult *hmacMd5 = [CocoaSecurity hmacMd5:@"kelp" hmacKey:@"key"]; - - STAssertEqualObjects(md5.hex, @"C40C69779E15780ADAE46C45EB451E23", nil); - STAssertEqualObjects(md5.hexLower, @"c40c69779e15780adae46c45eb451e23", nil); - STAssertEqualObjects(md5.base64, @"xAxpd54VeAra5GxF60UeIw==", nil); - - STAssertEqualObjects(hmacMd5.hex, @"2DFF352719234D5D6A9839FD8F43C8D2", nil); - STAssertEqualObjects(hmacMd5.hexLower, @"2dff352719234d5d6a9839fd8f43c8d2", nil); - STAssertEqualObjects(hmacMd5.base64, @"Lf81JxkjTV1qmDn9j0PI0g==", nil); -} - -- (void)testSHA -{ - CocoaSecurityResult *sha1 = [CocoaSecurity sha1:@"kelp"]; - CocoaSecurityResult *sha224 = [CocoaSecurity sha224:@"kelp"]; - CocoaSecurityResult *sha256 = [CocoaSecurity sha256:@"kelp"]; - CocoaSecurityResult *sha384 = [CocoaSecurity sha384:@"kelp"]; - CocoaSecurityResult *sha512 = [CocoaSecurity sha512:@"kelp"]; - CocoaSecurityResult *hmacSha1 = [CocoaSecurity hmacSha1:@"kelp" hmacKey:@"key"]; - CocoaSecurityResult *hmacSha224 = [CocoaSecurity hmacSha224:@"kelp" hmacKey:@"key"]; - CocoaSecurityResult *hmacSha256 = [CocoaSecurity hmacSha256:@"kelp" hmacKey:@"key"]; - CocoaSecurityResult *hmacSha384 = [CocoaSecurity hmacSha384:@"kelp" hmacKey:@"key"]; - CocoaSecurityResult *hmacSha512 = [CocoaSecurity hmacSha512:@"kelp" hmacKey:@"key"]; - - STAssertEqualObjects(sha1.hexLower, @"70b6a0495fb444a63297c83de187b1730a18e85a", nil); - STAssertEqualObjects(sha1.base64, @"cLagSV+0RKYyl8g94YexcwoY6Fo=", nil); - STAssertEqualObjects(hmacSha1.hexLower, @"fae888da051e44eb0c57f43935ad82cdbedf482f", nil); - STAssertEqualObjects(hmacSha1.base64, @"+uiI2gUeROsMV/Q5Na2Czb7fSC8=", nil); - - STAssertEqualObjects(sha224.hexLower, @"1e124576cebf14ecdac30b8ca05ff94deb343f54ebb0eab21559dcf1", nil); - STAssertEqualObjects(sha224.base64, @"HhJFds6/FOzawwuMoF/5Tes0P1TrsOqyFVnc8Q==", nil); - STAssertEqualObjects(hmacSha224.hexLower, @"4777556ee573705fcf6194de22947e09562653a84684c4b015a91e0c", nil); - STAssertEqualObjects(hmacSha224.base64, @"R3dVbuVzcF/PYZTeIpR+CVYmU6hGhMSwFakeDA==", nil); - - STAssertEqualObjects(sha256.hexLower, @"280f8bb8c43d532f389ef0e2a5321220b0782b065205dcdfcb8d8f02ed5115b9", nil); - STAssertEqualObjects(sha256.base64, @"KA+LuMQ9Uy84nvDipTISILB4KwZSBdzfy42PAu1RFbk=", nil); - STAssertEqualObjects(hmacSha256.hexLower, @"09e6c01ee44e4fc87871d3d8eb5265b67a941e9bf68d1b33851aeeed0114cd33", nil); - STAssertEqualObjects(hmacSha256.base64, @"CebAHuROT8h4cdPY61JltnqUHpv2jRszhRru7QEUzTM=", nil); - - STAssertEqualObjects(sha384.hexLower, @"e0801e06e6eea6257018bc0f2aaf1f7ec23385ce2ac9865fe209322262f323e80c81f65e711e30d162af5638ef8b4334", nil); - STAssertEqualObjects(sha384.base64, @"4IAeBubupiVwGLwPKq8ffsIzhc4qyYZf4gkyImLzI+gMgfZecR4w0WKvVjjvi0M0", nil); - STAssertEqualObjects(hmacSha384.hexLower, @"99f2a12918f5e0c7e21ef4759ecb8dd882c95af32a204ac83928aa413e1d8e9ed312c29c41e2f3c00a78d448df11d15e", nil); - STAssertEqualObjects(hmacSha384.base64, @"mfKhKRj14MfiHvR1nsuN2ILJWvMqIErIOSiqQT4djp7TEsKcQeLzwAp41EjfEdFe", nil); - - STAssertEqualObjects(sha512.hexLower, @"af8489a9fb6dcb8973515cdda3366c939ebcc8ac8fb0a7c322f1333babe03655222930ad48b4924f1a1f13c23856bc3c2e1b93cb10c74e72362e5457756517ff", nil); - STAssertEqualObjects(sha512.base64, @"r4SJqftty4lzUVzdozZsk568yKyPsKfDIvEzO6vgNlUiKTCtSLSSTxofE8I4Vrw8LhuTyxDHTnI2LlRXdWUX/w==", nil); - STAssertEqualObjects(hmacSha512.hexLower, @"3807619fdaa2dd77e3dd554a627284406000a5c924db72202af0e6b1832789a94bacc710dc2b7da61fbfd6e1065dfe39085a872538f5b19fde112092c90d893a", nil); - STAssertEqualObjects(hmacSha512.base64, @"OAdhn9qi3Xfj3VVKYnKEQGAApckk23IgKvDmsYMnialLrMcQ3Ct9ph+/1uEGXf45CFqHJTj1sZ/eESCSyQ2JOg==", nil); -} - -@end