2017-02-15 3 views
1

AES(暗号化アルゴリズム)を使用して画像(png)を暗号化し、暗号化されたNSDataを取得しました。私はFBEncryptorフレームワークを使用します。今私はUIImageViewに表示しようとしていますが、動作しません。ここに私のコードです:目的のcのUIIImageViewで暗号化画像を表示

@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です。私はAES暗号化アルゴリズムを使用してios上でそれが必要です。どのように私はこの問題を解決することができますか?何か案は?ありがとう。

+0

暗号化されているため表示できません。暗号化で何を達成しようとしていますか? – zaph

+0

以下のメソッドを使用してencryptedDataを復号化します。+(NSData *)decryptData:(NSData *)データキー:(NSData *)キーiv:(NSData *)iv – Ammaiappan

+0

@zaph暗号化されたイメージを取得しようとしています。私は、ノイズやその他のものしか見ることができないイメージを意味しますが、元のイメージは表示しません。 – JohnLemon

答えて

0

lunapic.comあなただけの暗号化された画像のプレースホルダとして、そのようなイメージを置くことができるplaceholder image を使用している、暗号化された画像は、任意の画像は、ユーザーが画像を復号化するとき、それを読むためにUIImageViewを得るためには属性がありません、

1

の問題の問題は、ビットマップではなく画像ファイル全体を暗号化するということだけです。このファイルには、画像を表示するのに必要なメタ情報が含まれています。 I.ファイルの先頭にa signatureがあり、それをPNGとしてマークします。ファイルを暗号化すると、その署名が破棄されます。

ビットマップのみを暗号化する必要があります。

これは、画像から純粋なビットマップデータを取得する方法の次の質問につながります。幸いにも、この質問はスタックオーバーフローで何度か答えられます。 e。 here

+0

ありがとう、良いアイデア – JohnLemon

関連する問題