2013-08-11 2 views
2

사람이 읽을 수 없도록 NSString을 암호화하고 싶습니다. 누군가가 텍스트를 해독 할 수 있다면 그들을 훔쳐하는 즉 보안 나던 방식의 수준은 (민감한 정보가 없을 것이다. 그런 다음NSString 암호화하기

NSString *myTextToEncrypt = @"Hello World!"; 

[myTextToEncrypt encrypt]; 

// myTextToEncrypt is now something unreadable, like '2rwzdn1405' 

내가이 문자열을 암호화되지 않은 수 있어야

[myTextToEncrypt unencrypt]; // myTextToEncrypt should now be @"Hello World!" again 

어떻게해야합니까? CommonCrypto 및 AES 암호화에 대한 내용을 읽었습니다.하지만이 모든 작업은 내가하려는 일에 과잉이라고 생각됩니다 (내가 읽은 암호화 방법은 모두 암호 또는 기타 민감한 부분에 대한 것입니다). 데이터)

답변

2

이렇게하려면.

Objective-C에는 몇 가지 구현이 있습니다 (this one).

콘텐츠가 인코딩 된 후 약 30 % 증가합니다.

+0

해당 프로젝트 링크를 이용해 주셔서 감사합니다. –

+0

문자 대신 숫자로 인코딩하는 방법이 있습니까? –

2

가장 간단한 방법은 나만의 암호화를 사용하는 것입니다.

Utils.h

@interface Utils : NSObject 
+(NSString*)encyptString:(NSString*)str; 
+(NSString*)decryptString:(NSString*)str; 
@end 

Utils.m

#import "Utils.h" 

int offset = 15; 
@implementation Utils 
+(NSString*)encyptString:(NSString*)str 
{ 
    NSMutableString *encrptedString = [[NSMutableString alloc] init]; 
    for (int i = 0; i < str.length; i++) { 
     unichar character = [str characterAtIndex:i]; 
     character += offset; 
     [encrptedString appendFormat:@"%C",character]; 
    } 
    return encrptedString; 
} 

+(NSString*)decryptString:(NSString*)str 
{ 
    NSMutableString *decrptedString = [[NSMutableString alloc] init]; 
    for (int i = 0; i < str.length; i++) { 
     unichar character = [str characterAtIndex:i]; 
     character -= offset; 
     [decrptedString appendFormat:@"%C",character]; 
    } 
    return decrptedString; 
} 
@end 

그것을

NSString *str = @"hello world"; 
NSString *enr = [Utils encyptString:str]; 
NSLog(@"Encrypted Text=%@", enr); 
NSLog(@"Decrypted Text=%@", [Utils decryptString:enr]); 

로그를 사용하는 방법

2013-08-11 10:44:09.409 DeviceTest[445:c07] Encrypted Text=wt{{~/~{s 
2013-08-11 10:44:09.412 DeviceTest[445:c07] Decrypted Text=hello world 
+0

이것은 암호화가 아닙니다.이 인코딩은 쉽게 침투 할 수 있습니다. –

+0

예 당신은 절대적으로 맞습니다 –

+0

@ Jasconius 얼마나 쉽게 침투 하는가? 일부 문자 메시지를 '암호화'하기 위해 인코딩을 사용할 생각입니다. – Supertecnoboff

관련 문제