miei cripta app e decodifica (o dovrebbe) un NSString (il testo da cifrare/decifrato) con un altro NSString (la parola) utilizzando aes 256-bit di crittografia. Quando eseguo il mio progetto ed eseguo il metodo di crittografia, niente viene crittografato, il campo di testo si cancella da solo. Ecco il codice che ho:AES256 NSString di crittografia in iOS
-(void)EncryptText {
//Declare Keyword and Text
NSString *plainText = DataBox.text;
NSString *keyword = Keyword.text;
//Convert NSString to NSData
NSData *plainData = [plainText dataUsingEncoding:NSUTF8StringEncoding];
//Encrypt the Data
NSData *encryptedData = [plainData AESEncryptWithPassphrase:keyword];
//Convert the NSData back to NSString
NSString* cypherText = [[NSString alloc] initWithData:encryptedData encoding:NSUTF8StringEncoding];
//Place the encrypted sting inside the Data Box
NSLog(@"Cipher Text: %@", cypherText);
}
I file di intestazione possono essere scaricati cliccando questo link: ZIP File containing AES Implementation
Mi è stato detto che ho bisogno di usare Base 64 codifica della mia stringa per ottenere qualsiasi risultato . Se questo è vero, allora come lo faccio?
Mi è stato anche detto che la crittografia è cambiata in iOS 5 e la mia app è un'app iOS 5+. Se questo è vero, allora cosa devo fare per far funzionare questa crittografia su iOS 5 o dove posso trovare un'altra implementazione AES a 256 bit che funzionerà su NSString.
Perché questo codice non produce un risultato?
Grazie Rob! Questo è molto utile! –
Dove sarebbe il codice mostrato su: http://robnapier.net/blog/aes-commoncrypto-564 go? Non andrebbe nella sua stessa classe perché non c'è nulla in cui passare un'intestazione e un'implementazione, quindi andrebbe nello stesso file .m del mio metodo? –
In genere lo inserisco in una classe chiamata "RNCryptManager', ma potresti metterlo ovunque. Il codice potrebbe anche essere banalmente convertito in funzioni piuttosto che in metodi di classe. –