암호화 복호화
#import <UIKit/UIKit.h>
#import "RNDecryptor.h"
#import "RNEncryptor.h"
@interface ViewController : UIViewController
{
NSString *secretKey; //salt
}
- (NSString *)getCryptorEncrypt:(NSString *)toEncryptString; //암호화
- (NSString *)getRNCryptorDecript:(NSString *)toDecriptDataString; //복호화
@end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
secretKey = @"thisissalt"; //salt : 임의의 문자설정
//암호화할 문자열
NSString * password = @"2019년1월2일";
//암호화 함수 호출
NSString * encryptedString= [self getCryptorEncrypt:password];
NSLog(@"암호화된 문자열 : %@" , encryptedString);
//AwEuV776EAa6APKdLuLGSwuGnTKZ6HvcurFJw26nLHjxxrCzs1TCNLK55h9g53BSyFY/nC6PB9IQEwJn9yIcqcPy2HJoDT9K/YPBs240l0hASA==
//복호화 함수 호출
NSString* decriptedString = [self getRNCryptorDecript:encryptedString];
NSLog(@"복호화된 문자열 : %@" , decriptedString); //2019년1월2일
}
//암호화 함수
- (NSString *)getCryptorEncrypt:(NSString *)toEncryptString{
NSData *data = [toEncryptString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
NSData *encryptedData = [RNEncryptor encryptData:data
withSettings:kRNCryptorAES256Settings
password:secretKey
error:&error];
if(error != nil){
NSLog(@"암호화 중에 오류가 발생했습니다 : %@" , error.localizedDescription);
}
return encryptedData.base64Encoding;
}
//복호화 함수
- (NSString *)getRNCryptorDecript:(NSString *)toDecriptDataString
{
NSData *data = [[NSData alloc]initWithBase64EncodedString:toDecriptDataString options:NSDataBase64DecodingIgnoreUnknownCharacters];
NSError *error;
NSData *decryptedData = [RNDecryptor decryptData:data
withPassword:secretKey
error:&error];
if(error != nil){
NSLog(@"복호화 중에 오류가 발생했습니다 : %@" , error.localizedDescription);
}
NSString * result = [[NSString alloc]initWithData:decryptedData encoding:NSUTF8StringEncoding];
return result;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
파일1
파일2 (전역함수)
'ios 뽀개기 > objective-c' 카테고리의 다른 글
최상위 viewController 클래스의 이름 가져오기 (0) | 2019.01.04 |
---|---|
ios 오토레이아웃 코드로 응용하기 (0) | 2019.01.04 |
Obejctive c 클래스 변수 & 배열을 json 변환 (0) | 2019.01.02 |
UIView 커스터마이징 & 오디오 비디오 사진 뷰어 (0) | 2018.12.28 |
ios 저장 용량 계산 (0) | 2018.12.27 |
댓글