Перейти к содержимому


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


В этой теме нет ответов

#1 ILYA2606

ILYA2606

    Участник

  • Developer
  • 22 сообщений
  • Гаджет:iPhone 4S
  • ОС:OS X

Отправлено 26 Апрель 2012 - 00:43

Изображение


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

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

Код:
#import "NSData-AES.h"
#import "Base64.h"

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

Код:
[color=#000000][font=Georgia,]

[font=Consolas, Monaco, monospace][size=3]NSString *password = @"mypassword"; //пароль для шифрования[/size][/font]
NSString *str = @"mytext"; //исходная строка

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

//Проверка зашифрованной строчки
NSLog(@"CryptedString=%@",b64EncStr);[/font][/color][color=#000000][font=Georgia,]
Код расшифрования строки:[/font][/color][color=#000000][font=Georgia,]

Код:
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);[/font][/color]


Полная реализация шифрования доступна в проекте, который можно скачать ниже.
ИзображениеИзображение



Скачать проект


Статья подготовлена @ILYA2606
Изображение



Ответить



  


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных