文字列を 'AES-128 CBC with IV'で暗号化しようとしています。ここで入力パラメータと予想される出力は次のようになります。
IVでAES-128 CBC暗号化はどのように目的Cで動作しますか?
キー: 000102030405060708090A0B0C0D0E0F
IV: 00102030405060708090A0B0C0D0E0F0
入力データ: EA010B23CDA9B16F0001020304050607
出力: B773C36749E87D3F8FED98FE52026A15
客観CでのIVとAES-128 CBCの文字列を暗号化するためにどのように? (http://extranet.cryptomathic.com/aescalcと同じ結果)私は暗号化された文字列を取得しようとしています - B773C36749E87D3F8FED98FE52026A15、しかし運はありません。
私は、暗号化のために、このライブラリを使用しようとしました:ここhttps://github.com/Pakhee/Cross-platform-AES-encryption/tree/master/iOS
は私のObjective Cのコードです:
NSString* data = @"EA010B23CDA9B16F0001020304050607";
NSString* key = @"000102030405060708090A0B0C0D0E0F";
NSString* iv = @"00102030405060708090A0B0C0D0E0F0";
NSData *encryptedData = [[StringEncryption alloc] encrypt:[@"EA010B23CDA9B16F0001020304050607" dataUsingEncoding:NSUTF8StringEncoding] key:key iv:iv];
NSLog(@"encryptedData %@", encryptedData);
はEncryptedDataの出力は次のとおりです。 < 68f8ed75 e79f2ba2 c80e67a2 f0c84b7a c4b07fd1 59e937e5 14644cba c0ddb60c 40502375 7798e7a1 58bd05a5 b3d9e7bd>
-
私は、*はEncryptedDataの値は、私が別のライブラリ試してみましたB773C36749E87D3F8FED98FE52026A15
の六角がある< 42373733 43333637 34394538 37443346 38464544 39384645 35323032 36413135>、あるべき期待します
NSData* _data = [data dataUsingEncoding:NSUTF8StringEncoding];
NSData* _key = [key dataUsingEncoding:NSUTF8StringEncoding];
NSData* _iv = [iv dataUsingEncoding:NSUTF8StringEncoding];
NSData *encryptedData2 = [FBEncryptorAES encryptData:_data key:_key iv:_iv];
NSLog(@"encryptedData2 = %@", encryptedData2);
出力が< 2beea977 aef69eb1 ed9f6dd0 7bf5f1ce d1e5df46 2cbf8465 773f122d 03267abb 2e113d9b 07189268 4fd6babe 7b1c0056>
私は間違ったライブラリを使用しているか、暗号化機能に間違った入力があるようです。客観的なCのためのAESライブラリの推奨?
あなたはそれを意味します:http://stackoverflow.com/questions/7520615/how-to-convert-an-nsdata-into-an-nsstring-hex-string? – Larme
ありがとうLarme、NSDataをNSStringに変換する例を試しました。しかし、それは>èaμ[ü#Õ-ÅÄ 、ÃÆ'ââ、¬Â/¬FØqÈ5Ëlg〜のようなモンスターキャラクターを返します。私の問題がNSData変換であるかどうかわからない、またはライブラリを間違った方法で使用する –
これを得るために何をしましたか?あなたはそれを試しましたか?NSUInteger capacity = encryptedData.length * 2; NSMutableString * sbuf = [NSMutableString stringWithCapacity:capacity]; const unsigned char * buf = encryptedData.bytes; NSInteger i; (NSUInteger)buf [i]];} NSString * encryptedString = [sbuf copy] '?NSString * encryptedString = [sbuf copy]'? – Larme