2017-02-15 21 views
1

Я зашифровал изображение (png) с помощью AES (алгоритм шифрования) и получил зашифрованные NSData. Я использую рамки FBEncryptor. Теперь я пытаюсь отобразить его на UIImageView, но он не работает. Вот мой код:Отображение зашифрованного изображения на объекте UIIImageView c

@interface ImageEncryptingViewController() 

@property (strong, nonatomic) IBOutlet UIImageView *encoptdImg; 


@end 

@implementation ImageEncryptingViewController 



- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    UIImage *img = [UIImage imageNamed:@"image.png"]; 

    NSData *imageData = UIImagePNGRepresentation(img); 

    NSData* encryptedData = [FBEncryptorAES encryptData:imageData key:imageData iv:imageData]; 

    UIImage *image = [[UIImage alloc]initWithData:encryptedData]; 

    NSLog(@"%@", encryptedData); 

    _encoptdImg.image = image; 



} 

В конце концов, я хочу, чтобы получить зашифрованное изображение, где мы можем увидеть шум или что-то другое, но не оригинальное изображение. Например, это website. Мне нужно это на ios, используя алгоритм шифрования AES. Как я могу решить эту проблему? Есть идеи? Благодарю.

+0

Вы не можете отобразить его, потому что вы его зашифровали. Что вы пытаетесь выполнить с помощью шифрования? – zaph

+0

Расшифровать зашифрованные данные использовать следующий метод .. + (NSData *) decryptData: (NSData *) ключ данных: (NSData *) ключ iv: (NSData *) iv – Ammaiappan

+0

@zaph Я пытаюсь получить зашифрованное изображение. Я имею в виду изображение, где мы можем видеть только шум или что-то еще, но не оригинальное изображение. – JohnLemon

ответ

0

lunapic.com использует placeholder image вы можете просто поместить такое изображение в качестве заполнителя для зашифрованного изображения, зашифрованное изображение не будет иметь никакого изображения атрибутов для того, чтобы получить UIImageView прочитать его, когда пользователь расшифровать изображение, то вы можете просто поместить дешифрованное изображение в этот placeholder, вот и все

1

Проблема в Этот вопрос заключается в том, что вы шифруете весь файл изображения, а не только растровое изображение. Файл содержит метаинформацию, необходимую для отображения изображения. I. e. файл имеет a signature в начале, чтобы отметить его как PNG. Шифруя файл, вы уничтожаете эту подпись.

Вы должны зашифровать только растровое изображение.

Это приводит к следующему вопросу, как получить чистые данные растрового изображения из изображения. К счастью, этот вопрос несколько раз отвечает на переполнение стека, т.е. е. here.

+0

Спасибо, хорошая идея – JohnLemon

 Смежные вопросы

  • Нет связанных вопросов^_^