diff --git a/Classes/Crypt/MGMBase64.h b/Classes/Crypt/MGMBase64.h new file mode 100644 index 0000000..45a1e0c --- /dev/null +++ b/Classes/Crypt/MGMBase64.h @@ -0,0 +1,58 @@ +// +// MGMSHA512.h +// +// Created by Mr. Gecko on 2/24/10. +// No Copyright Claimed. Public Domain. +// + +#ifndef _MD_BASE64 +#define _MD_BASE64 + +#ifdef __NEXT_RUNTIME__ +#import + +extern NSString * const cryptBase64; + +@interface NSString (MGMBase64) +- (NSString *)encodeBase64; +- (NSString *)decodeBase64; +- (NSString *)pathEncodeBase64; +- (NSString *)pathDecodeBase64; +@end +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#define base64BufferSize 6 + +typedef enum { + step_a, step_b, step_c, step_d +} base64Step; + +struct base64EncodeState { + base64Step step; + char result; + int stepcount; +}; + +void base64InitEncodeState(struct base64EncodeState *state_in); +char base64EncodeValue(char value_in); +int base64EncodeBlock(const char *plaintext_in, int length_in, char *code_out, struct base64EncodeState *state_in); +int base64EncodeBlockEnd(char *code_out, struct base64EncodeState *state_in); + +struct base64DecodeState { + base64Step step; + char plainchar; +}; + +void base64InitDecodeState(struct base64DecodeState *state_in); +int base64DecodeValue(char value_in); +int base64DecodeBlock(const char *code_in, const int length_in, char *plaintext_out, struct base64DecodeState *state_in); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/Classes/Crypt/MGMBase64.m b/Classes/Crypt/MGMBase64.m new file mode 100644 index 0000000..449e46a --- /dev/null +++ b/Classes/Crypt/MGMBase64.m @@ -0,0 +1,283 @@ +// +// MGMSHA512.m +// +// Created by Mr. Gecko on 2/24/10. +// No Copyright Claimed. Public Domain. +// C Algorithm from libb64 +// + +#ifdef __NEXT_RUNTIME__ +#import "MGMBase64.h" +#import "MGMTypes.h" + +NSString * const cryptBase64 = @"base64"; + +@implementation NSString (MGMBase64) +- (NSString *)encodeBase64 { + NSData *cryptData = [self dataUsingEncoding:NSUTF8StringEncoding]; + struct base64EncodeState cryptContext; + char *cryptBuffer = malloc(base64BufferSize); + unsigned long length = [cryptData length]; + NSRange bufferRange = NSMakeRange(0, base64BufferSize/2); + NSMutableString *result = [NSMutableString string]; + NSCharacterSet *lines = [NSCharacterSet newlineCharacterSet]; + + base64InitEncodeState(&cryptContext); + while (length>0) { + NSAutoreleasePool *pool = [NSAutoreleasePool new]; + if (length0) { + NSAutoreleasePool *pool = [NSAutoreleasePool new]; + if (length0); + int len = base64EncodeBlockEnd(cryptBuffer, &cryptContext); + NSString *dataString = [[[[NSString alloc] initWithBytes:cryptBuffer length:len encoding:NSUTF8StringEncoding] autorelease] stringByTrimmingCharactersInSet:lines]; + [result appendString:dataString]; + free(cryptBuffer); + return result; +} +- (NSString *)pathDecodeBase64 { + NSFileHandle *file = [NSFileHandle fileHandleForReadingAtPath:self]; + struct base64DecodeState cryptContext; + char *cryptBuffer = malloc(base64BufferSize); + NSMutableString *result = [NSMutableString string]; + + base64InitDecodeState(&cryptContext); + int length; + do { + NSAutoreleasePool *pool = [NSAutoreleasePool new]; + NSData *cryptData = [file readDataOfLength:base64BufferSize/2]; + length = [cryptData length]; + int len = base64DecodeBlock([cryptData bytes], [cryptData length], cryptBuffer, &cryptContext); + NSString *dataString = [[[NSString alloc] initWithBytes:cryptBuffer length:len encoding:NSUTF8StringEncoding] autorelease]; + [result appendString:dataString]; + [pool release]; + } while (length>0); + free(cryptBuffer); + return result; +} +@end +#else +#include +#include +#include "MGMMD5.h" +#include "MGMTypes.h" +#endif + +const int base64CharsPerLine = 72; + +void base64InitEncodeState(struct base64EncodeState *state_in) { + state_in->step = step_a; + state_in->result = 0; + state_in->stepcount = 0; +} + +char base64EncodeValue(char value_in) { + static const char *base64Encoding = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + if (value_in > 63) return '='; + return base64Encoding[(int)value_in]; +} + +int base64EncodeBlock(const char *plaintext_in, int length_in, char *code_out, struct base64EncodeState *state_in) { + const char *plainchar = plaintext_in; + const char *const plaintextend = plaintext_in + length_in; + char *codechar = code_out; + char result; + char fragment; + + result = state_in->result; + + switch (state_in->step) { + while (1) { + case step_a: + if (plainchar==plaintextend) { + state_in->result = result; + state_in->step = step_a; + return codechar - code_out; + } + fragment = *plainchar++; + result = (fragment & 0x0fc) >> 2; + *codechar++ = base64EncodeValue(result); + result = (fragment & 0x003) << 4; + case step_b: + if (plainchar==plaintextend) { + state_in->result = result; + state_in->step = step_b; + return codechar - code_out; + } + fragment = *plainchar++; + result |= (fragment & 0x0f0) >> 4; + *codechar++ = base64EncodeValue(result); + result = (fragment & 0x00f) << 2; + case step_c: + if (plainchar==plaintextend) { + state_in->result = result; + state_in->step = step_c; + return codechar - code_out; + } + fragment = *plainchar++; + result |= (fragment & 0x0c0) >> 6; + *codechar++ = base64EncodeValue(result); + result = (fragment & 0x03f) >> 0; + *codechar++ = base64EncodeValue(result); + + ++(state_in->stepcount); + if (state_in->stepcount == base64CharsPerLine/4) { + *codechar++ = '\n'; + state_in->stepcount = 0; + } + default: + break; + } + } + return codechar - code_out; +} + +int base64EncodeBlockEnd(char *code_out, struct base64EncodeState *state_in) { + char *codechar = code_out; + + switch (state_in->step) { + case step_b: + *codechar++ = base64EncodeValue(state_in->result); + *codechar++ = '='; + *codechar++ = '='; + break; + case step_c: + *codechar++ = base64EncodeValue(state_in->result); + *codechar++ = '='; + break; + case step_a: + break; + default: + break; + } + *codechar++ = '\n'; + + return codechar - code_out; +} + +void base64InitDecodeState(struct base64DecodeState *state_in) { + state_in->step = step_a; + state_in->plainchar = 0; +} + +int base64DecodeValue(char value_in) { + static const char decoding[] = {62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-2,-1,-1,-1,0,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,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51}; + static const char decoding_size = sizeof(decoding); + value_in -= 43; + if (value_in < 0 || value_in > decoding_size) return -1; + return decoding[(int)value_in]; +} + +int base64DecodeBlock(const char *code_in, const int length_in, char *plaintext_out, struct base64DecodeState *state_in) { + const char *codechar = code_in; + char *plainchar = plaintext_out; + char fragment; + + *plainchar = state_in->plainchar; + + switch (state_in->step) { + while (1) { + case step_a: + do { + if (codechar == code_in+length_in) { + state_in->step = step_a; + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } + fragment = (char)base64DecodeValue(*codechar++); + } while (fragment < 0); + *plainchar = (fragment & 0x03f) << 2; + case step_b: + do { + if (codechar == code_in+length_in) { + state_in->step = step_b; + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } + fragment = (char)base64DecodeValue(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x030) >> 4; + *plainchar = (fragment & 0x00f) << 4; + case step_c: + do { + if (codechar == code_in+length_in) { + state_in->step = step_c; + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } + fragment = (char)base64DecodeValue(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03c) >> 2; + *plainchar = (fragment & 0x003) << 6; + case step_d: + do { + if (codechar == code_in+length_in) { + state_in->step = step_d; + state_in->plainchar = *plainchar; + return plainchar - plaintext_out; + } + fragment = (char)base64DecodeValue(*codechar++); + } while (fragment < 0); + *plainchar++ |= (fragment & 0x03f); + } + } + return plainchar - plaintext_out; +} \ No newline at end of file diff --git a/Classes/MGMMD.h b/Classes/MD/MGMMD.h similarity index 100% rename from Classes/MGMMD.h rename to Classes/MD/MGMMD.h diff --git a/Classes/MGMMD.m b/Classes/MD/MGMMD.m similarity index 99% rename from Classes/MGMMD.m rename to Classes/MD/MGMMD.m index 933ebae..c0d77b9 100644 --- a/Classes/MGMMD.m +++ b/Classes/MD/MGMMD.m @@ -7,7 +7,7 @@ // #import "MGMMD.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" @implementation MGMMD + (NSString *)stringHash:(NSString *)theString usingAlgorithm:(NSString *)theAlgorithm { diff --git a/Classes/MGMMD5.h b/Classes/MD/MGMMD5.h similarity index 100% rename from Classes/MGMMD5.h rename to Classes/MD/MGMMD5.h diff --git a/Classes/MGMMD5.m b/Classes/MD/MGMMD5.m similarity index 99% rename from Classes/MGMMD5.m rename to Classes/MD/MGMMD5.m index 96f23b3..2aa2dff 100644 --- a/Classes/MGMMD5.m +++ b/Classes/MD/MGMMD5.m @@ -8,7 +8,7 @@ #ifdef __NEXT_RUNTIME__ #import "MGMMD5.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" NSString * const MDNMD5 = @"md5"; @@ -70,7 +70,7 @@ NSString * const MDNMD5 = @"md5"; #include #include #include "MGMMD5.h" -#include "MGMMDTypes.h" +#include "MGMTypes.h" #endif char *MD5String(const char *string, int length) { diff --git a/Classes/MGMSHA1.h b/Classes/MD/MGMSHA1.h similarity index 100% rename from Classes/MGMSHA1.h rename to Classes/MD/MGMSHA1.h diff --git a/Classes/MGMSHA1.m b/Classes/MD/MGMSHA1.m similarity index 99% rename from Classes/MGMSHA1.m rename to Classes/MD/MGMSHA1.m index ba802cf..b86e1a5 100644 --- a/Classes/MGMSHA1.m +++ b/Classes/MD/MGMSHA1.m @@ -9,7 +9,7 @@ #ifdef __NEXT_RUNTIME__ #import "MGMSHA1.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" NSString * const MDNSHA1 = @"sha1"; @@ -70,7 +70,7 @@ NSString * const MDNSHA1 = @"sha1"; #include #include #include "MGMMD5.h" -#include "MGMMDTypes.h" +#include "MGMTypes.h" #endif char *SHA1String(const char *string, int length) { diff --git a/Classes/MGMSHA224.h b/Classes/MD/MGMSHA224.h similarity index 100% rename from Classes/MGMSHA224.h rename to Classes/MD/MGMSHA224.h diff --git a/Classes/MGMSHA224.m b/Classes/MD/MGMSHA224.m similarity index 99% rename from Classes/MGMSHA224.m rename to Classes/MD/MGMSHA224.m index c328352..bebe73b 100644 --- a/Classes/MGMSHA224.m +++ b/Classes/MD/MGMSHA224.m @@ -8,7 +8,7 @@ #ifdef __NEXT_RUNTIME__ #import "MGMSHA224.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" NSString * const MDNSHA224 = @"sha224"; @@ -69,7 +69,7 @@ NSString * const MDNSHA224 = @"sha224"; #include #include #include "MGMMD5.h" -#include "MGMMDTypes.h" +#include "MGMTypes.h" #endif char *SHA224String(const char *string, int length) { diff --git a/Classes/MGMSHA256.h b/Classes/MD/MGMSHA256.h similarity index 100% rename from Classes/MGMSHA256.h rename to Classes/MD/MGMSHA256.h diff --git a/Classes/MGMSHA256.m b/Classes/MD/MGMSHA256.m similarity index 99% rename from Classes/MGMSHA256.m rename to Classes/MD/MGMSHA256.m index 1fe9cae..50ab9b3 100644 --- a/Classes/MGMSHA256.m +++ b/Classes/MD/MGMSHA256.m @@ -8,7 +8,7 @@ #ifdef __NEXT_RUNTIME__ #import "MGMSHA256.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" NSString * const MDNSHA256 = @"sha256"; @@ -69,7 +69,7 @@ NSString * const MDNSHA256 = @"sha256"; #include #include #include "MGMMD5.h" -#include "MGMMDTypes.h" +#include "MGMTypes.h" #endif char *SHA256String(const char *string, int length) { diff --git a/Classes/MGMSHA384.h b/Classes/MD/MGMSHA384.h similarity index 100% rename from Classes/MGMSHA384.h rename to Classes/MD/MGMSHA384.h diff --git a/Classes/MGMSHA384.m b/Classes/MD/MGMSHA384.m similarity index 99% rename from Classes/MGMSHA384.m rename to Classes/MD/MGMSHA384.m index a75fe69..0c62026 100644 --- a/Classes/MGMSHA384.m +++ b/Classes/MD/MGMSHA384.m @@ -8,7 +8,7 @@ #ifdef __NEXT_RUNTIME__ #import "MGMSHA384.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" NSString * const MDNSHA384 = @"sha384"; @@ -69,7 +69,7 @@ NSString * const MDNSHA384 = @"sha384"; #include #include #include "MGMMD5.h" -#include "MGMMDTypes.h" +#include "MGMTypes.h" #endif char *SHA384String(const char *string, int length) { diff --git a/Classes/MGMSHA512.h b/Classes/MD/MGMSHA512.h similarity index 100% rename from Classes/MGMSHA512.h rename to Classes/MD/MGMSHA512.h diff --git a/Classes/MGMSHA512.m b/Classes/MD/MGMSHA512.m similarity index 99% rename from Classes/MGMSHA512.m rename to Classes/MD/MGMSHA512.m index 10f152f..67ed8aa 100644 --- a/Classes/MGMSHA512.m +++ b/Classes/MD/MGMSHA512.m @@ -8,7 +8,7 @@ #ifdef __NEXT_RUNTIME__ #import "MGMSHA512.h" -#import "MGMMDTypes.h" +#import "MGMTypes.h" NSString * const MDNSHA512 = @"sha512"; @@ -69,7 +69,7 @@ NSString * const MDNSHA512 = @"sha512"; #include #include #include "MGMMD5.h" -#include "MGMMDTypes.h" +#include "MGMTypes.h" #endif char *SHA512String(const char *string, int length) { diff --git a/Classes/MGMMDTypes.h b/Classes/MGMTypes.h similarity index 99% rename from Classes/MGMMDTypes.h rename to Classes/MGMTypes.h index 1e181c1..b0dfa55 100644 --- a/Classes/MGMMDTypes.h +++ b/Classes/MGMTypes.h @@ -1,5 +1,5 @@ // -// MGMMDTypes.h +// MGMTypes.h // // Created by Mr. Gecko on 2/24/10. // No Copyright Claimed. Public Domain. diff --git a/MGMMD.xcodeproj/project.pbxproj b/MGMMD.xcodeproj/project.pbxproj index e2b1300..82039a9 100644 --- a/MGMMD.xcodeproj/project.pbxproj +++ b/MGMMD.xcodeproj/project.pbxproj @@ -7,73 +7,82 @@ objects = { /* Begin PBXBuildFile section */ - 2A2CBB1E1222A4F200C864D8 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB141222A4F200C864D8 /* MGMMD5.m */; }; - 2A2CBB1F1222A4F200C864D8 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */; }; - 2A2CBB201222A4F200C864D8 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */; }; - 2A2CBB211222A4F200C864D8 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */; }; - 2A2CBB221222A4F200C864D8 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */; }; - 2A2CBBD91222BC0600C864D8 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */; }; - 2A91445412230D880075E219 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A91445312230D880075E219 /* MGMMD.m */; }; - 2A9145F812233E1C0075E219 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB141222A4F200C864D8 /* MGMMD5.m */; }; - 2A9145F912233E1C0075E219 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */; }; - 2A9145FA12233E1C0075E219 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */; }; - 2A9145FB12233E1C0075E219 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */; }; - 2A9145FC12233E1C0075E219 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */; }; - 2A9145FD12233E1C0075E219 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */; }; - 2A9145FE12233E1C0075E219 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A91445312230D880075E219 /* MGMMD.m */; }; - 2A91460012233E450075E219 /* MGMMDTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMMDTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460112233E450075E219 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB131222A4F200C864D8 /* MGMMD5.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460212233E450075E219 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBBD71222BC0600C864D8 /* MGMSHA1.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460312233E450075E219 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB161222A4F200C864D8 /* MGMSHA224.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460412233E450075E219 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB181222A4F200C864D8 /* MGMSHA256.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460512233E450075E219 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1A1222A4F200C864D8 /* MGMSHA384.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460612233E450075E219 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1C1222A4F200C864D8 /* MGMSHA512.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91460712233E450075E219 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A91445212230D880075E219 /* MGMMD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461412233F800075E219 /* MGMMDTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMMDTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461512233F800075E219 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB131222A4F200C864D8 /* MGMMD5.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461612233F800075E219 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBBD71222BC0600C864D8 /* MGMSHA1.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461712233F800075E219 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB161222A4F200C864D8 /* MGMSHA224.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461812233F800075E219 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB181222A4F200C864D8 /* MGMSHA256.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461912233F800075E219 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1A1222A4F200C864D8 /* MGMSHA384.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461A12233F800075E219 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1C1222A4F200C864D8 /* MGMSHA512.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461B12233F800075E219 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A91445212230D880075E219 /* MGMMD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91461C12233F9E0075E219 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB141222A4F200C864D8 /* MGMMD5.m */; }; - 2A91461D12233F9E0075E219 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */; }; - 2A91461E12233F9E0075E219 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */; }; - 2A91461F12233F9E0075E219 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */; }; - 2A91462012233F9E0075E219 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */; }; - 2A91462112233F9E0075E219 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */; }; - 2A91462212233F9E0075E219 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A91445312230D880075E219 /* MGMMD.m */; }; - 2A91463B122340780075E219 /* MGMMDTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMMDTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91463C122340780075E219 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB131222A4F200C864D8 /* MGMMD5.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91463D122340780075E219 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBBD71222BC0600C864D8 /* MGMSHA1.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91463E122340780075E219 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB161222A4F200C864D8 /* MGMSHA224.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91463F122340780075E219 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB181222A4F200C864D8 /* MGMSHA256.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A914640122340780075E219 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1A1222A4F200C864D8 /* MGMSHA384.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A914641122340780075E219 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1C1222A4F200C864D8 /* MGMSHA512.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A914642122340850075E219 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB141222A4F200C864D8 /* MGMMD5.m */; }; - 2A914643122340850075E219 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */; }; - 2A914644122340850075E219 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */; }; - 2A914645122340850075E219 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */; }; - 2A914646122340850075E219 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */; }; - 2A914647122340850075E219 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */; }; - 2A91464D122340DF0075E219 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A91445212230D880075E219 /* MGMMD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91464E122340EB0075E219 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A91445312230D880075E219 /* MGMMD.m */; }; - 2A914658122341260075E219 /* MGMMDTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMMDTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A914659122341260075E219 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB131222A4F200C864D8 /* MGMMD5.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91465A122341260075E219 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBBD71222BC0600C864D8 /* MGMSHA1.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91465B122341260075E219 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB161222A4F200C864D8 /* MGMSHA224.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91465C122341260075E219 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB181222A4F200C864D8 /* MGMSHA256.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91465D122341260075E219 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1A1222A4F200C864D8 /* MGMSHA384.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91465E122341260075E219 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB1C1222A4F200C864D8 /* MGMSHA512.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A91465F122341260075E219 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A91445212230D880075E219 /* MGMMD.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2A9146631223414B0075E219 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB141222A4F200C864D8 /* MGMMD5.m */; }; - 2A9146641223414B0075E219 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */; }; - 2A9146651223414B0075E219 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */; }; - 2A9146661223414B0075E219 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */; }; - 2A9146671223414B0075E219 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */; }; - 2A9146681223414B0075E219 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */; }; - 2A9146691223414B0075E219 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A91445312230D880075E219 /* MGMMD.m */; }; + 2A752B6D12C6C31500082F40 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6012C6C31500082F40 /* MGMMD.m */; }; + 2A752B6E12C6C31500082F40 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6212C6C31500082F40 /* MGMMD5.m */; }; + 2A752B6F12C6C31500082F40 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6412C6C31500082F40 /* MGMSHA1.m */; }; + 2A752B7012C6C31500082F40 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6612C6C31500082F40 /* MGMSHA224.m */; }; + 2A752B7112C6C31500082F40 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6812C6C31500082F40 /* MGMSHA256.m */; }; + 2A752B7212C6C31500082F40 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6A12C6C31500082F40 /* MGMSHA384.m */; }; + 2A752B7312C6C31500082F40 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6C12C6C31500082F40 /* MGMSHA512.m */; }; + 2A752B7412C6C31500082F40 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B5F12C6C31500082F40 /* MGMMD.h */; }; + 2A752B7512C6C31500082F40 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6012C6C31500082F40 /* MGMMD.m */; }; + 2A752B7612C6C31500082F40 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6112C6C31500082F40 /* MGMMD5.h */; }; + 2A752B7712C6C31500082F40 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6212C6C31500082F40 /* MGMMD5.m */; }; + 2A752B7812C6C31500082F40 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6312C6C31500082F40 /* MGMSHA1.h */; }; + 2A752B7912C6C31500082F40 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6412C6C31500082F40 /* MGMSHA1.m */; }; + 2A752B7A12C6C31500082F40 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6512C6C31500082F40 /* MGMSHA224.h */; }; + 2A752B7B12C6C31500082F40 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6612C6C31500082F40 /* MGMSHA224.m */; }; + 2A752B7C12C6C31500082F40 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6712C6C31500082F40 /* MGMSHA256.h */; }; + 2A752B7D12C6C31500082F40 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6812C6C31500082F40 /* MGMSHA256.m */; }; + 2A752B7E12C6C31500082F40 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6912C6C31500082F40 /* MGMSHA384.h */; }; + 2A752B7F12C6C31500082F40 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6A12C6C31500082F40 /* MGMSHA384.m */; }; + 2A752B8012C6C31500082F40 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6B12C6C31500082F40 /* MGMSHA512.h */; }; + 2A752B8112C6C31500082F40 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6C12C6C31500082F40 /* MGMSHA512.m */; }; + 2A752B8212C6C31500082F40 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B5F12C6C31500082F40 /* MGMMD.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8312C6C31500082F40 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6012C6C31500082F40 /* MGMMD.m */; }; + 2A752B8412C6C31500082F40 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6112C6C31500082F40 /* MGMMD5.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8512C6C31500082F40 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6212C6C31500082F40 /* MGMMD5.m */; }; + 2A752B8612C6C31500082F40 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6312C6C31500082F40 /* MGMSHA1.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8712C6C31500082F40 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6412C6C31500082F40 /* MGMSHA1.m */; }; + 2A752B8812C6C31500082F40 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6512C6C31500082F40 /* MGMSHA224.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8912C6C31500082F40 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6612C6C31500082F40 /* MGMSHA224.m */; }; + 2A752B8A12C6C31500082F40 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6712C6C31500082F40 /* MGMSHA256.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8B12C6C31500082F40 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6812C6C31500082F40 /* MGMSHA256.m */; }; + 2A752B8C12C6C31500082F40 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6912C6C31500082F40 /* MGMSHA384.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8D12C6C31500082F40 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6A12C6C31500082F40 /* MGMSHA384.m */; }; + 2A752B8E12C6C31500082F40 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6B12C6C31500082F40 /* MGMSHA512.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A752B8F12C6C31500082F40 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6C12C6C31500082F40 /* MGMSHA512.m */; }; + 2A752B9012C6C31500082F40 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B5F12C6C31500082F40 /* MGMMD.h */; }; + 2A752B9112C6C31500082F40 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6012C6C31500082F40 /* MGMMD.m */; }; + 2A752B9212C6C31500082F40 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6112C6C31500082F40 /* MGMMD5.h */; }; + 2A752B9312C6C31500082F40 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6212C6C31500082F40 /* MGMMD5.m */; }; + 2A752B9412C6C31500082F40 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6312C6C31500082F40 /* MGMSHA1.h */; }; + 2A752B9512C6C31500082F40 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6412C6C31500082F40 /* MGMSHA1.m */; }; + 2A752B9612C6C31500082F40 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6512C6C31500082F40 /* MGMSHA224.h */; }; + 2A752B9712C6C31500082F40 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6612C6C31500082F40 /* MGMSHA224.m */; }; + 2A752B9812C6C31500082F40 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6712C6C31500082F40 /* MGMSHA256.h */; }; + 2A752B9912C6C31500082F40 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6812C6C31500082F40 /* MGMSHA256.m */; }; + 2A752B9A12C6C31500082F40 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6912C6C31500082F40 /* MGMSHA384.h */; }; + 2A752B9B12C6C31500082F40 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6A12C6C31500082F40 /* MGMSHA384.m */; }; + 2A752B9C12C6C31500082F40 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6B12C6C31500082F40 /* MGMSHA512.h */; }; + 2A752B9D12C6C31500082F40 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6C12C6C31500082F40 /* MGMSHA512.m */; }; + 2A752B9E12C6C31500082F40 /* MGMMD.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B5F12C6C31500082F40 /* MGMMD.h */; }; + 2A752B9F12C6C31500082F40 /* MGMMD.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6012C6C31500082F40 /* MGMMD.m */; }; + 2A752BA012C6C31500082F40 /* MGMMD5.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6112C6C31500082F40 /* MGMMD5.h */; }; + 2A752BA112C6C31500082F40 /* MGMMD5.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6212C6C31500082F40 /* MGMMD5.m */; }; + 2A752BA212C6C31500082F40 /* MGMSHA1.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6312C6C31500082F40 /* MGMSHA1.h */; }; + 2A752BA312C6C31500082F40 /* MGMSHA1.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6412C6C31500082F40 /* MGMSHA1.m */; }; + 2A752BA412C6C31500082F40 /* MGMSHA224.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6512C6C31500082F40 /* MGMSHA224.h */; }; + 2A752BA512C6C31500082F40 /* MGMSHA224.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6612C6C31500082F40 /* MGMSHA224.m */; }; + 2A752BA612C6C31500082F40 /* MGMSHA256.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6712C6C31500082F40 /* MGMSHA256.h */; }; + 2A752BA712C6C31500082F40 /* MGMSHA256.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6812C6C31500082F40 /* MGMSHA256.m */; }; + 2A752BA812C6C31500082F40 /* MGMSHA384.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6912C6C31500082F40 /* MGMSHA384.h */; }; + 2A752BA912C6C31500082F40 /* MGMSHA384.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6A12C6C31500082F40 /* MGMSHA384.m */; }; + 2A752BAA12C6C31500082F40 /* MGMSHA512.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752B6B12C6C31500082F40 /* MGMSHA512.h */; }; + 2A752BAB12C6C31500082F40 /* MGMSHA512.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752B6C12C6C31500082F40 /* MGMSHA512.m */; }; + 2A752BBE12C6C5FC00082F40 /* MGMBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752BBC12C6C5FC00082F40 /* MGMBase64.h */; }; + 2A752BBF12C6C5FC00082F40 /* MGMBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */; }; + 2A752BC012C6C5FC00082F40 /* MGMBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752BBC12C6C5FC00082F40 /* MGMBase64.h */; }; + 2A752BC112C6C5FC00082F40 /* MGMBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */; }; + 2A752BC212C6C5FC00082F40 /* MGMBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752BBC12C6C5FC00082F40 /* MGMBase64.h */; }; + 2A752BC312C6C5FC00082F40 /* MGMBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */; }; + 2A752BC412C6C5FC00082F40 /* MGMBase64.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A752BBC12C6C5FC00082F40 /* MGMBase64.h */; }; + 2A752BC512C6C5FC00082F40 /* MGMBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */; }; + 2A91460012233E450075E219 /* MGMTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A91461412233F800075E219 /* MGMTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A91463B122340780075E219 /* MGMTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A914658122341260075E219 /* MGMTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A2CBB151222A4F200C864D8 /* MGMTypes.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 2A96144D12C6F3E5006CBDB0 /* MGMBase64.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */; }; 8DD76F9A0486AA7600D96B5E /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 08FB7796FE84155DC02AAC07 /* main.m */; settings = {ATTRIBUTES = (); }; }; 8DD76F9C0486AA7600D96B5E /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08FB779EFE84155DC02AAC07 /* Foundation.framework */; }; 8DD76F9F0486AA7600D96B5E /* MGMMD.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = C6859EA3029092ED04C91782 /* MGMMD.1 */; }; @@ -93,23 +102,25 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 08FB7796FE84155DC02AAC07 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 08FB7796FE84155DC02AAC07 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; wrapsLines = 1; }; 08FB779EFE84155DC02AAC07 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - 2A2CBB131222A4F200C864D8 /* MGMMD5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMMD5.h; sourceTree = ""; }; - 2A2CBB141222A4F200C864D8 /* MGMMD5.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMMD5.m; sourceTree = ""; }; - 2A2CBB151222A4F200C864D8 /* MGMMDTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMMDTypes.h; sourceTree = ""; }; - 2A2CBB161222A4F200C864D8 /* MGMSHA224.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA224.h; sourceTree = ""; }; - 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA224.m; sourceTree = ""; }; - 2A2CBB181222A4F200C864D8 /* MGMSHA256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA256.h; sourceTree = ""; }; - 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA256.m; sourceTree = ""; }; - 2A2CBB1A1222A4F200C864D8 /* MGMSHA384.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA384.h; sourceTree = ""; }; - 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA384.m; sourceTree = ""; }; - 2A2CBB1C1222A4F200C864D8 /* MGMSHA512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA512.h; sourceTree = ""; }; - 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA512.m; sourceTree = ""; }; - 2A2CBBD71222BC0600C864D8 /* MGMSHA1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA1.h; sourceTree = ""; }; - 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA1.m; sourceTree = ""; }; - 2A91445212230D880075E219 /* MGMMD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMMD.h; sourceTree = ""; }; - 2A91445312230D880075E219 /* MGMMD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMMD.m; sourceTree = ""; }; + 2A2CBB151222A4F200C864D8 /* MGMTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMTypes.h; sourceTree = ""; }; + 2A752B5F12C6C31500082F40 /* MGMMD.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMMD.h; sourceTree = ""; }; + 2A752B6012C6C31500082F40 /* MGMMD.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMMD.m; sourceTree = ""; }; + 2A752B6112C6C31500082F40 /* MGMMD5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMMD5.h; sourceTree = ""; }; + 2A752B6212C6C31500082F40 /* MGMMD5.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMMD5.m; sourceTree = ""; }; + 2A752B6312C6C31500082F40 /* MGMSHA1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA1.h; sourceTree = ""; }; + 2A752B6412C6C31500082F40 /* MGMSHA1.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA1.m; sourceTree = ""; }; + 2A752B6512C6C31500082F40 /* MGMSHA224.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA224.h; sourceTree = ""; }; + 2A752B6612C6C31500082F40 /* MGMSHA224.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA224.m; sourceTree = ""; }; + 2A752B6712C6C31500082F40 /* MGMSHA256.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA256.h; sourceTree = ""; }; + 2A752B6812C6C31500082F40 /* MGMSHA256.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA256.m; sourceTree = ""; }; + 2A752B6912C6C31500082F40 /* MGMSHA384.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA384.h; sourceTree = ""; }; + 2A752B6A12C6C31500082F40 /* MGMSHA384.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA384.m; sourceTree = ""; }; + 2A752B6B12C6C31500082F40 /* MGMSHA512.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMSHA512.h; sourceTree = ""; }; + 2A752B6C12C6C31500082F40 /* MGMSHA512.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMSHA512.m; sourceTree = ""; }; + 2A752BBC12C6C5FC00082F40 /* MGMBase64.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MGMBase64.h; sourceTree = ""; }; + 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MGMBase64.m; sourceTree = ""; wrapsLines = 1; }; 2A9145F012233D690075E219 /* MGMMD.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = MGMMD.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 2A9145F712233DB60075E219 /* Framework-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Framework-Info.plist"; sourceTree = ""; }; 2A91460C12233E6A0075E219 /* libMGMMD.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMGMMD.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -176,8 +187,8 @@ 08FB7795FE84155DC02AAC07 /* Source */ = { isa = PBXGroup; children = ( - 32A70AAB03705E1F00C91783 /* Prefix.pch */, 08FB7796FE84155DC02AAC07 /* main.m */, + 32A70AAB03705E1F00C91783 /* Prefix.pch */, ); name = Source; sourceTree = ""; @@ -205,25 +216,43 @@ 2A2CBB121222A4F200C864D8 /* Classes */ = { isa = PBXGroup; children = ( - 2A2CBB151222A4F200C864D8 /* MGMMDTypes.h */, - 2A2CBB131222A4F200C864D8 /* MGMMD5.h */, - 2A2CBB141222A4F200C864D8 /* MGMMD5.m */, - 2A2CBBD71222BC0600C864D8 /* MGMSHA1.h */, - 2A2CBBD81222BC0600C864D8 /* MGMSHA1.m */, - 2A2CBB161222A4F200C864D8 /* MGMSHA224.h */, - 2A2CBB171222A4F200C864D8 /* MGMSHA224.m */, - 2A2CBB181222A4F200C864D8 /* MGMSHA256.h */, - 2A2CBB191222A4F200C864D8 /* MGMSHA256.m */, - 2A2CBB1A1222A4F200C864D8 /* MGMSHA384.h */, - 2A2CBB1B1222A4F200C864D8 /* MGMSHA384.m */, - 2A2CBB1C1222A4F200C864D8 /* MGMSHA512.h */, - 2A2CBB1D1222A4F200C864D8 /* MGMSHA512.m */, - 2A91445212230D880075E219 /* MGMMD.h */, - 2A91445312230D880075E219 /* MGMMD.m */, + 2A2CBB151222A4F200C864D8 /* MGMTypes.h */, + 2A752B4412C6C2BA00082F40 /* MD */, + 2A752BB012C6C32C00082F40 /* Crypt */, ); path = Classes; sourceTree = ""; }; + 2A752B4412C6C2BA00082F40 /* MD */ = { + isa = PBXGroup; + children = ( + 2A752B5F12C6C31500082F40 /* MGMMD.h */, + 2A752B6012C6C31500082F40 /* MGMMD.m */, + 2A752B6112C6C31500082F40 /* MGMMD5.h */, + 2A752B6212C6C31500082F40 /* MGMMD5.m */, + 2A752B6312C6C31500082F40 /* MGMSHA1.h */, + 2A752B6412C6C31500082F40 /* MGMSHA1.m */, + 2A752B6512C6C31500082F40 /* MGMSHA224.h */, + 2A752B6612C6C31500082F40 /* MGMSHA224.m */, + 2A752B6712C6C31500082F40 /* MGMSHA256.h */, + 2A752B6812C6C31500082F40 /* MGMSHA256.m */, + 2A752B6912C6C31500082F40 /* MGMSHA384.h */, + 2A752B6A12C6C31500082F40 /* MGMSHA384.m */, + 2A752B6B12C6C31500082F40 /* MGMSHA512.h */, + 2A752B6C12C6C31500082F40 /* MGMSHA512.m */, + ); + path = MD; + sourceTree = ""; + }; + 2A752BB012C6C32C00082F40 /* Crypt */ = { + isa = PBXGroup; + children = ( + 2A752BBC12C6C5FC00082F40 /* MGMBase64.h */, + 2A752BBD12C6C5FC00082F40 /* MGMBase64.m */, + ); + path = Crypt; + sourceTree = ""; + }; 2A9145F612233DB60075E219 /* Resources */ = { isa = PBXGroup; children = ( @@ -247,14 +276,15 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2A91460012233E450075E219 /* MGMMDTypes.h in Headers */, - 2A91460112233E450075E219 /* MGMMD5.h in Headers */, - 2A91460212233E450075E219 /* MGMSHA1.h in Headers */, - 2A91460312233E450075E219 /* MGMSHA224.h in Headers */, - 2A91460412233E450075E219 /* MGMSHA256.h in Headers */, - 2A91460512233E450075E219 /* MGMSHA384.h in Headers */, - 2A91460612233E450075E219 /* MGMSHA512.h in Headers */, - 2A91460712233E450075E219 /* MGMMD.h in Headers */, + 2A91460012233E450075E219 /* MGMTypes.h in Headers */, + 2A752B8212C6C31500082F40 /* MGMMD.h in Headers */, + 2A752B8412C6C31500082F40 /* MGMMD5.h in Headers */, + 2A752B8612C6C31500082F40 /* MGMSHA1.h in Headers */, + 2A752B8812C6C31500082F40 /* MGMSHA224.h in Headers */, + 2A752B8A12C6C31500082F40 /* MGMSHA256.h in Headers */, + 2A752B8C12C6C31500082F40 /* MGMSHA384.h in Headers */, + 2A752B8E12C6C31500082F40 /* MGMSHA512.h in Headers */, + 2A752BC212C6C5FC00082F40 /* MGMBase64.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -262,14 +292,15 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2A91461412233F800075E219 /* MGMMDTypes.h in Headers */, - 2A91461512233F800075E219 /* MGMMD5.h in Headers */, - 2A91461612233F800075E219 /* MGMSHA1.h in Headers */, - 2A91461712233F800075E219 /* MGMSHA224.h in Headers */, - 2A91461812233F800075E219 /* MGMSHA256.h in Headers */, - 2A91461912233F800075E219 /* MGMSHA384.h in Headers */, - 2A91461A12233F800075E219 /* MGMSHA512.h in Headers */, - 2A91461B12233F800075E219 /* MGMMD.h in Headers */, + 2A91461412233F800075E219 /* MGMTypes.h in Headers */, + 2A752B7412C6C31500082F40 /* MGMMD.h in Headers */, + 2A752B7612C6C31500082F40 /* MGMMD5.h in Headers */, + 2A752B7812C6C31500082F40 /* MGMSHA1.h in Headers */, + 2A752B7A12C6C31500082F40 /* MGMSHA224.h in Headers */, + 2A752B7C12C6C31500082F40 /* MGMSHA256.h in Headers */, + 2A752B7E12C6C31500082F40 /* MGMSHA384.h in Headers */, + 2A752B8012C6C31500082F40 /* MGMSHA512.h in Headers */, + 2A752BC012C6C5FC00082F40 /* MGMBase64.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -277,14 +308,15 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2A91464D122340DF0075E219 /* MGMMD.h in Headers */, - 2A91463B122340780075E219 /* MGMMDTypes.h in Headers */, - 2A91463C122340780075E219 /* MGMMD5.h in Headers */, - 2A91463D122340780075E219 /* MGMSHA1.h in Headers */, - 2A91463E122340780075E219 /* MGMSHA224.h in Headers */, - 2A91463F122340780075E219 /* MGMSHA256.h in Headers */, - 2A914640122340780075E219 /* MGMSHA384.h in Headers */, - 2A914641122340780075E219 /* MGMSHA512.h in Headers */, + 2A91463B122340780075E219 /* MGMTypes.h in Headers */, + 2A752B9012C6C31500082F40 /* MGMMD.h in Headers */, + 2A752B9212C6C31500082F40 /* MGMMD5.h in Headers */, + 2A752B9412C6C31500082F40 /* MGMSHA1.h in Headers */, + 2A752B9612C6C31500082F40 /* MGMSHA224.h in Headers */, + 2A752B9812C6C31500082F40 /* MGMSHA256.h in Headers */, + 2A752B9A12C6C31500082F40 /* MGMSHA384.h in Headers */, + 2A752B9C12C6C31500082F40 /* MGMSHA512.h in Headers */, + 2A752BBE12C6C5FC00082F40 /* MGMBase64.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -292,14 +324,15 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 2A914658122341260075E219 /* MGMMDTypes.h in Headers */, - 2A914659122341260075E219 /* MGMMD5.h in Headers */, - 2A91465A122341260075E219 /* MGMSHA1.h in Headers */, - 2A91465B122341260075E219 /* MGMSHA224.h in Headers */, - 2A91465C122341260075E219 /* MGMSHA256.h in Headers */, - 2A91465D122341260075E219 /* MGMSHA384.h in Headers */, - 2A91465E122341260075E219 /* MGMSHA512.h in Headers */, - 2A91465F122341260075E219 /* MGMMD.h in Headers */, + 2A914658122341260075E219 /* MGMTypes.h in Headers */, + 2A752B9E12C6C31500082F40 /* MGMMD.h in Headers */, + 2A752BA012C6C31500082F40 /* MGMMD5.h in Headers */, + 2A752BA212C6C31500082F40 /* MGMSHA1.h in Headers */, + 2A752BA412C6C31500082F40 /* MGMSHA224.h in Headers */, + 2A752BA612C6C31500082F40 /* MGMSHA256.h in Headers */, + 2A752BA812C6C31500082F40 /* MGMSHA384.h in Headers */, + 2A752BAA12C6C31500082F40 /* MGMSHA512.h in Headers */, + 2A752BC412C6C5FC00082F40 /* MGMBase64.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -400,7 +433,14 @@ isa = PBXProject; buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "MGMMD" */; compatibilityVersion = "Xcode 3.1"; + developmentRegion = English; hasScannedForEncodings = 1; + knownRegions = ( + English, + Japanese, + French, + German, + ); mainGroup = 08FB7794FE84155DC02AAC07 /* MGMMD */; projectDirPath = ""; projectRoot = ""; @@ -429,13 +469,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2A9145F812233E1C0075E219 /* MGMMD5.m in Sources */, - 2A9145F912233E1C0075E219 /* MGMSHA1.m in Sources */, - 2A9145FA12233E1C0075E219 /* MGMSHA224.m in Sources */, - 2A9145FB12233E1C0075E219 /* MGMSHA256.m in Sources */, - 2A9145FC12233E1C0075E219 /* MGMSHA384.m in Sources */, - 2A9145FD12233E1C0075E219 /* MGMSHA512.m in Sources */, - 2A9145FE12233E1C0075E219 /* MGMMD.m in Sources */, + 2A752B8312C6C31500082F40 /* MGMMD.m in Sources */, + 2A752B8512C6C31500082F40 /* MGMMD5.m in Sources */, + 2A752B8712C6C31500082F40 /* MGMSHA1.m in Sources */, + 2A752B8912C6C31500082F40 /* MGMSHA224.m in Sources */, + 2A752B8B12C6C31500082F40 /* MGMSHA256.m in Sources */, + 2A752B8D12C6C31500082F40 /* MGMSHA384.m in Sources */, + 2A752B8F12C6C31500082F40 /* MGMSHA512.m in Sources */, + 2A752BC312C6C5FC00082F40 /* MGMBase64.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -443,13 +484,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2A91461C12233F9E0075E219 /* MGMMD5.m in Sources */, - 2A91461D12233F9E0075E219 /* MGMSHA1.m in Sources */, - 2A91461E12233F9E0075E219 /* MGMSHA224.m in Sources */, - 2A91461F12233F9E0075E219 /* MGMSHA256.m in Sources */, - 2A91462012233F9E0075E219 /* MGMSHA384.m in Sources */, - 2A91462112233F9E0075E219 /* MGMSHA512.m in Sources */, - 2A91462212233F9E0075E219 /* MGMMD.m in Sources */, + 2A752B7512C6C31500082F40 /* MGMMD.m in Sources */, + 2A752B7712C6C31500082F40 /* MGMMD5.m in Sources */, + 2A752B7912C6C31500082F40 /* MGMSHA1.m in Sources */, + 2A752B7B12C6C31500082F40 /* MGMSHA224.m in Sources */, + 2A752B7D12C6C31500082F40 /* MGMSHA256.m in Sources */, + 2A752B7F12C6C31500082F40 /* MGMSHA384.m in Sources */, + 2A752B8112C6C31500082F40 /* MGMSHA512.m in Sources */, + 2A752BC112C6C5FC00082F40 /* MGMBase64.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -457,13 +499,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2A91464E122340EB0075E219 /* MGMMD.m in Sources */, - 2A914642122340850075E219 /* MGMMD5.m in Sources */, - 2A914643122340850075E219 /* MGMSHA1.m in Sources */, - 2A914644122340850075E219 /* MGMSHA224.m in Sources */, - 2A914645122340850075E219 /* MGMSHA256.m in Sources */, - 2A914646122340850075E219 /* MGMSHA384.m in Sources */, - 2A914647122340850075E219 /* MGMSHA512.m in Sources */, + 2A752B9112C6C31500082F40 /* MGMMD.m in Sources */, + 2A752B9312C6C31500082F40 /* MGMMD5.m in Sources */, + 2A752B9512C6C31500082F40 /* MGMSHA1.m in Sources */, + 2A752B9712C6C31500082F40 /* MGMSHA224.m in Sources */, + 2A752B9912C6C31500082F40 /* MGMSHA256.m in Sources */, + 2A752B9B12C6C31500082F40 /* MGMSHA384.m in Sources */, + 2A752B9D12C6C31500082F40 /* MGMSHA512.m in Sources */, + 2A752BBF12C6C5FC00082F40 /* MGMBase64.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -471,13 +514,14 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2A9146631223414B0075E219 /* MGMMD5.m in Sources */, - 2A9146641223414B0075E219 /* MGMSHA1.m in Sources */, - 2A9146651223414B0075E219 /* MGMSHA224.m in Sources */, - 2A9146661223414B0075E219 /* MGMSHA256.m in Sources */, - 2A9146671223414B0075E219 /* MGMSHA384.m in Sources */, - 2A9146681223414B0075E219 /* MGMSHA512.m in Sources */, - 2A9146691223414B0075E219 /* MGMMD.m in Sources */, + 2A752B9F12C6C31500082F40 /* MGMMD.m in Sources */, + 2A752BA112C6C31500082F40 /* MGMMD5.m in Sources */, + 2A752BA312C6C31500082F40 /* MGMSHA1.m in Sources */, + 2A752BA512C6C31500082F40 /* MGMSHA224.m in Sources */, + 2A752BA712C6C31500082F40 /* MGMSHA256.m in Sources */, + 2A752BA912C6C31500082F40 /* MGMSHA384.m in Sources */, + 2A752BAB12C6C31500082F40 /* MGMSHA512.m in Sources */, + 2A752BC512C6C5FC00082F40 /* MGMBase64.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -486,13 +530,14 @@ buildActionMask = 2147483647; files = ( 8DD76F9A0486AA7600D96B5E /* main.m in Sources */, - 2A2CBB1E1222A4F200C864D8 /* MGMMD5.m in Sources */, - 2A2CBB1F1222A4F200C864D8 /* MGMSHA224.m in Sources */, - 2A2CBB201222A4F200C864D8 /* MGMSHA256.m in Sources */, - 2A2CBB211222A4F200C864D8 /* MGMSHA384.m in Sources */, - 2A2CBB221222A4F200C864D8 /* MGMSHA512.m in Sources */, - 2A2CBBD91222BC0600C864D8 /* MGMSHA1.m in Sources */, - 2A91445412230D880075E219 /* MGMMD.m in Sources */, + 2A752B6D12C6C31500082F40 /* MGMMD.m in Sources */, + 2A752B6E12C6C31500082F40 /* MGMMD5.m in Sources */, + 2A752B6F12C6C31500082F40 /* MGMSHA1.m in Sources */, + 2A752B7012C6C31500082F40 /* MGMSHA224.m in Sources */, + 2A752B7112C6C31500082F40 /* MGMSHA256.m in Sources */, + 2A752B7212C6C31500082F40 /* MGMSHA384.m in Sources */, + 2A752B7312C6C31500082F40 /* MGMSHA512.m in Sources */, + 2A96144D12C6F3E5006CBDB0 /* MGMBase64.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/main.m b/main.m index 3fc434f..abd0919 100644 --- a/main.m +++ b/main.m @@ -13,12 +13,13 @@ #import "MGMSHA384.h" #import "MGMSHA512.h" #import "MGMMD.h" +#import "MGMBase64.h" int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; - NSString *correct = @"Hash is correct."; - NSString *incorrect = @"Something is wrong, the hash is incorrect."; + NSString *correct = @"It is correct."; + NSString *incorrect = @"Something is wrong, it is incorrect."; NSString *MDString = @"Test String"; NSString *hash; @@ -150,6 +151,12 @@ int main (int argc, const char * argv[]) { [md updateWithString:MDString]; NSLog(@"SHA512: %@ %@", [md finalHash], ([[md finalHash] isEqual:@"1c58a65cf90dbeb31f8e4f196ce278936d70507cffea9682a9cbf79da9b046aebca9ed08c6f94d8e9f80cc4df0d5ddc65072cdb8a9b65d9e89b0fbf9bb0700ef"] ? correct : incorrect)); + NSString *cryptString = @"Test String"; + NSString *crypt = [cryptString encodeBase64]; + NSLog(@"Base64 Encrypt: %@ %@", crypt, ([crypt isEqual:@"VGVzdCBTdHJpbmc="] ? correct : incorrect)); + crypt = [crypt decodeBase64]; + NSLog(@"Base64 Decrypt: %@ %@", crypt, ([crypt isEqual:cryptString] ? correct : incorrect)); + [pool drain]; return 0; }