-(NSString*) md5:(NSString*)srcStr
{
const char *cStr = [srcStr UTF8String];
unsigned char result[CC_MD5_DIGEST_LENGTH];
CC_MD5(cStr, strlen(cStr), result);
return [NSString stringWithFormat:
@"%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
result[0],result[1],result[2],result[3],result[4],result[5],result[6],result[7],
result[8],result[9],result[10],result[11],result[12],result[13],result[14],result[15]];
}
//2. Base64 Encoding
-(NSString*) base64:(NSString*)srcStr
{
NSLog(@"Original string: %@", srcStr);
NSData *sourceData = [srcStr dataUsingEncoding:NSUTF8StringEncoding];
NSString *base64EncodedString = [sourceData base64Encoding];
NSLog(@"Encoded form: %@", base64EncodedString);
return base64EncodedString;
}
//3. Hex encoding
-(NSString *) hexEncode:(NSData*)data
{
NSMutableString *hex = [NSMutableString string];
unsigned char *bytes = (unsigned char *)[data bytes];
char temp[3];
NSUInteger i = 0;
for (i = 0; i < [data length]; i++)
{
temp[0] = temp[1] = temp[2] = 0;
(void)sprintf(temp, "%02x", bytes[i]);
[hex appendString:[NSString stringWithUTF8String:temp]];
}
return hex;
}
//4. DES Encryption - ECB 모드
-(NSData *) desEncrypt:(NSString*)srcStr
{
NSString *token = @"moauth1026336512";
NSString *key = @"DmsCksDk";
NSData *keyData = [key dataUsingEncoding:NSUTF8StringEncoding];
NSData *plainData = [token dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *encData = [NSMutableData dataWithLength: plainData.length + 256];
size_t bytesWritten = 0;
CCCryptorStatus ccStatus;
ccStatus = CCCrypt(kCCEncrypt,
kCCAlgorithmDES,
/*kCCOptionPKCS7Padding|*/kCCOptionECBMode,
[keyData bytes], //[IN]key
kCCKeySizeDES, //[IN]key length
NULL, //[IN]iv,
[plainData bytes], //[IN]plainText
[plainData length],//[IN]plainText length
encData.mutableBytes, //[OUT]encryptText
encData.length, //[OUT]encryptText
&bytesWritten); //
encData.length = bytesWritten;
return encData;
}
--출처 맥부기
'Develop > Objective-C' 카테고리의 다른 글
Objective-c 에서 java의 split 메소드 (0) | 2011.07.05 |
---|---|
Command /usr/bin/codesign failed with exit code 1 에러가 두둥!! (0) | 2011.07.03 |
OpenCoverFlow 구현 따라하기~ (0) | 2011.06.09 |
윈도우 cvs 서버와 맥의 xcode 연동방법 (0) | 2011.04.28 |
애플 리젝 사유 정리 - 계속 업데이트중.. (2) | 2011.02.07 |
multipart/form-data POST 방식으로 파일 업로드 하기 (0) | 2011.02.07 |
JSON(JavaScript Object Notation) 으로 데이터 받기 (0) | 2011.02.07 |
ZXing 1.6 QRCodeReader for Iphone (4) | 2011.01.25 |