пʼятниця, 22 березня 2013 р.

Шифрование данных

Все мы давно знаем, что есть такая штука, как шифрование, но не все знают как ее реализовать, чтобы защитить свои данные.

Здесь я приведу пример симметричного шифрования, не требующего каких-либо сторонних библиотек.

Итак, начнем!

Подключаем хидеры:

#import "NSData-AES.h"
#import "Base64.h"

Код шифрования строки. Разберем на примере NSString:

NSString *password = @"mypassword"; //пароль для шифрования
NSString *str = @"mytext"; //исходная строка

//Шифруем строку через NSDate
NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding];
NSData *encryptedData = [data AESEncryptWithPassphrase:password];
[Base64 initialize];
NSString *b64EncStr = [Base64 encode:encryptedData];

//Проверка зашифрованной строчки
NSLog(@"CryptedString=%@", b64EncStr);

Код расшифрования строки:

NSString *password = @"mypassword"; //пароль для расшифровывания, должен совпадать с паролем шифрования
NSString *str = @"2upXvtOFsocuB9OvLXa2kQ==" //исходная зашифрованная строка; 

//Расшифровываем строку через NSDate
[Base64 initialize];
NSData *b64DecData = [Base64 decode:str];
NSData *decryptedData = [b64DecData AESDecryptWithPassphrase:password];
NSString *decryptedStr = [[NSString alloc] initWithData:decryptedData encoding:NSASCIIStringEncoding];

//Проверка расшифрованной строчки
NSLog(@"DecryptedString=%@", decryptedStr);

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments