From bb1d3ae6fe7997e8e3831b39807a235c6e131ce2 Mon Sep 17 00:00:00 2001 From: Kelp Date: Thu, 17 May 2012 14:56:59 +0800 Subject: [PATCH] fixed comment --- .../UserInterfaceState.xcuserstate | Bin 45493 -> 47185 bytes CocoaSecurity/CocoaSecurity.m | 10 ++++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CocoaSecurity.xcodeproj/project.xcworkspace/xcuserdata/Kelp.xcuserdatad/UserInterfaceState.xcuserstate b/CocoaSecurity.xcodeproj/project.xcworkspace/xcuserdata/Kelp.xcuserdatad/UserInterfaceState.xcuserstate index 29f18ef9b5ce68a148b39238e47e07ca4485ad40..9d1170872c00db8f56b9a9c4229b47245725802e 100644 GIT binary patch delta 22505 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 delta 21378 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

ekxUmex6~T#o*4 zt@~QPX#J}7>(<}qXwW%sbCTxN%;}r6YR>98Yv*j3vvtn)Id|tgne((w)Fy7D+w|HD z+f3Tb+U(jK+Qzjdw@qlPXsd0jYunNGdE1w5&)U&;ygjNtp*^X+xBY|m{`NKPYumTA z?`Z$B{XqLS?ccQ@X+PF}q5V?(mGyVb&q*u^#uRC0%7*6TO%yjAl)p0{`2=kpHEJ2db6c}M4+nfK$oi}NmP zy7ju>dx&h=&tOZ);+VkzI%2z+uh#X+1=f}pnG5UA3Y{L);+d8 z&OJUoqkDpTLVM&rQ9a{&5_^HyTq>8xP2$SAd0Y>-lH0&-;y&WGaQnC~xUacyxx?Hs?j(1HyT;w% ze&v2!7`kxW!i0t67pfNSUHIL??-w3lcxvIa*>0=yUHI-51gq)|cFu+Lzv!)tB2>&{y17(pT13(KoGcb|2H%+}GN7x9@r1 z%f2^@z@q#`6^o`Wn!c!J(T|IMS@i3o-xvM4SiLxJalzu^#gi6aUi`=6+l%imzP}`H yN$QgHC0R>ymK<4fe#ylpmzP{w8oM-OY3|Zu#8&%#4T@_2AUbBk-@)HYC;dNKW4l8D diff --git a/CocoaSecurity/CocoaSecurity.m b/CocoaSecurity/CocoaSecurity.m index 888f5d7..68c8a66 100644 --- a/CocoaSecurity/CocoaSecurity.m +++ b/CocoaSecurity/CocoaSecurity.m @@ -77,7 +77,8 @@ free(buffer); return result; - } else { + } + else { free(buffer); @throw [NSException exceptionWithName:@"Cocoa Security" reason:@"Encrypt Error!" @@ -85,7 +86,7 @@ return nil; } } -#pragma mark AES Decrypt 128, 192, 256 +#pragma mark - AES Decrypt // default AES Decrypt, key -> SHA384(key).sub(0, 32), iv -> SHA384(key).sub(32, 16) - (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data key:(NSString *)key { @@ -95,7 +96,7 @@ return [self aesDecryptWithBase64:data key:aesKey iv:aesIv]; } -#pragma mark AES Encrypt 128, 192, 256 +#pragma mark AES Decrypt 128, 192, 256 - (CocoaSecurityResult *)aesDecryptWithBase64:(NSString *)data hexKey:(NSString *)key hexIv:(NSString *)iv { CocoaSecurityDecoder *decoder = [[CocoaSecurityDecoder alloc] init]; @@ -157,7 +158,8 @@ free(buffer); return result; - } else { + } + else { free(buffer); @throw [NSException exceptionWithName:@"Cocoa Security" reason:@"Decrypt Error!"