Я использую эту категорию Objective-C для шифрования и дешифрования моих строки данных: https://gist.github.com/leeprobert/b83f07ca90ad657a1cd17f94b13138b1Каких кодирований мне нужно, чтобы расшифровать эту AES128 данные
и у меня есть категория NSString, как так:
@implementation NSString (AESCrypt)
- (NSString *)AES128EncryptWithKey:(NSString *)key
{
NSData *plainData = [self dataUsingEncoding:NSUTF8StringEncoding];
NSData *encryptedData = [plainData AES128EncryptedDataWithKey:key];
NSString *encryptedString = [encryptedData base64Encoding];
return encryptedString;
}
- (NSString *)AES128DecryptWithKey:(NSString *)key
{
NSData *plainData = [self dataUsingEncoding:NSUTF8StringEncoding];
NSData *decryptedData = [plainData AES128DecryptedDataWithKey:key];
NSString *decryptedString = [[NSString alloc] initWithData:decryptedData encoding:NSUTF8StringEncoding];
return decryptedString;
}
@end
Моя проблема заключается в том, что, когда я проверить это я получаю мусор:
NSString* stringToEncrypt = @"Mary had a little lamb";
NSString* encryptedString = [stringToEncrypt AES128EncryptWithKey:eKey];
NSString* decryptedString = [encryptedString AES128DecryptWithKey:eKey];
NSLog(@"encryptedString = %@, decryptedString = %@", encryptedString, decryptedString);
это войти как:
encryptedString = wLnJKED9oE4zC8dS9X7XskTs8kMTP59LUj8aatxW9+c=, decryptedString = (null)
Я не уверен, что мне нужно выполнить base64encoding в процессе шифрования. Эта часть была чужим кодом. Я пытаюсь сделать расшифровку сейчас.
Вы избили меня! Я просто справился с этим, но вы получаете славу. Спасибо за ответ. :-) –
Это был такой быстрый ответ, что я даже не могу его принять. Через 5 минут. –