'AES-128 CBC with IV'로 문자열을 암호화하려고합니다.
IV가있는 AES-128 CBC 암호화는 어떻게 목표 -C에서 작동합니까?
키 : 000102030405060708090A0B0C0D0E0F
IV : 00102030405060708090A0B0C0D0E0F0
입력 데이터 : EA010B23CDA9B16F0001020304050607
출력 : B773C36749E87D3F8FED98FE52026A15,369 여기서 입력 파라미터 예상 출력 http://extranet.cryptomathic.com/aescalc/index?key=000102030405060708090A0B0C0D0E0F&iv=00102030405060708090A0B0C0D0E0F0&input=EA010B23CDA9B16F0001020304050607&mode=cbc&action=Encrypt&output=B773C36749E87D3F8FED98FE52026A15
어떻게 목표 C에서 IV로 AES-128 CBC 문자열을 암호화 : 1,363,210
내가 본 웹 사이트에 출력을 확인한? (http://extranet.cryptomathic.com/aescalc과 동일한 결과) 암호화 된 문자열 (B773C36749E87D3F8FED98FE52026A15)을 얻으려고하지만 행운이 없습니다.
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 https://github.com/Pakhee/Cross-platform-AES-encryption/tree/master/iOS 여기
내 목표 C 코드 :
나는 암호화이 라이브러리를 사용하는 것을 시도했다 f0c84b7a c4b07fd1 59e937e5 14644cba c0ddb60c 40502375 7798e7a1 58bd05a5 b3d9e7bd>
- 617,451,515,
나는 *의 EncryptedData의 값이 내가 다른 라이브러리 시도 B773C36749E87D3F8FED98FE52026A15
의 진수는 < 42,373,733 43,333,637 34,394,538 37,443,346 38,464,544 39,384,645 35,323,032 36,413,135>이어야한다 기대
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, NSString을 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]'? ("0"; – Larme