Hallo
Ich möchte einen NSString sehr stark verschlüsseln. Dazu habe ich das Framework RNCryptor gefunden. Ich nutze zum testen das Beispiel von Github. Wenn ich den NSString crypte bekomme ich
ein NSData. Das kann ich aber nicht in einer Datenbank speichern.
Wenn ich versuche den NSData mit UTF8 zu konvertieren, ist die Ausgabe (null). Also scheint das NSData nicht im UTF8 encoded zu sein.
Ich habe schon versucht mit anderen encodings den NSString zu bekommen. Leider bekomme ich kein Ergebnis. Die Ausgabe ist immer (null)
Kann mir bitte jemand sagen wie ich den NSData vom RNCrytor in einen NSString bekomme?
Oder gibt es bessere Verschlüsslungen die noch stärker Crypten als RNCryptor?
Hier ist der Code den ich verwende:
Alles anzeigen
und hier die Ausgabe:
2014-08-16 16:32:21.758 RNCrypt[411:70b] crypted string:(null)
2014-08-16 16:32:21.800 RNCrypt[411:70b] decrypted string:Dies ist nur ein kleiner Test
Ich möchte einen NSString sehr stark verschlüsseln. Dazu habe ich das Framework RNCryptor gefunden. Ich nutze zum testen das Beispiel von Github. Wenn ich den NSString crypte bekomme ich
ein NSData. Das kann ich aber nicht in einer Datenbank speichern.
Wenn ich versuche den NSData mit UTF8 zu konvertieren, ist die Ausgabe (null). Also scheint das NSData nicht im UTF8 encoded zu sein.
Ich habe schon versucht mit anderen encodings den NSString zu bekommen. Leider bekomme ich kein Ergebnis. Die Ausgabe ist immer (null)
Kann mir bitte jemand sagen wie ich den NSData vom RNCrytor in einen NSString bekomme?
Oder gibt es bessere Verschlüsslungen die noch stärker Crypten als RNCryptor?
Hier ist der Code den ich verwende:
Quellcode
- NSString *secretPass = @"adv4F3zb4*!fdegr";
- NSString *plainText = @"Dies ist nur ein kleiner Test";
- NSData *data = [plainText dataUsingEncoding:NSUTF8StringEncoding];
- NSError *error;
- NSData *encryptedData = [RNEncryptor encryptData:data
- withSettings:kRNCryptorAES256Settings
- password:secretPass
- error:&error];
- NSString* cryptedString = [[NSString alloc] initWithData:encryptedData
- encoding:NSUTF8StringEncoding];
- NSLog(@"crypted string:%@",cryptedString);
- NSData *decryptedData = [RNDecryptor decryptData:encryptedData
- withPassword:secretPass
- error:&error];
- NSString* decryptedString = [[NSString alloc] initWithData:decryptedData
- encoding:NSUTF8StringEncoding];
- NSLog(@"decrypted string:%@",decryptedString);
und hier die Ausgabe:
2014-08-16 16:32:21.758 RNCrypt[411:70b] crypted string:(null)
2014-08-16 16:32:21.800 RNCrypt[411:70b] decrypted string:Dies ist nur ein kleiner Test