2015-02-04 2 views
1

я успешно зашифрованы текстовый файл через RNcryptor с этим кодомНе удается расшифровать текстовый файл с помощью RNCryptor

NSFileManager *filemgr; 
NSData *databuffer; 

filemgr = [NSFileManager defaultManager]; 
NSString *destPath = @"Users/DivyaDinesh/Downloads/abcde"; 
databuffer = [filemgr contentsAtPath: @"Users/DivyaDinesh/Downloads/abcd" ]; 

NSError *error; 
NSData *encryptedData = [RNEncryptor encryptData:databuffer 
           withSettings:kRNCryptorAES256Settings 
             password:@"ABC123" 
              error:&error]; 
[encryptedData writeToFile:destPath atomically:YES]; 

Затем я попытался расшифровать то же самое с помощью этого кода

NSString *destPath1 = @"Users/DivyaDinesh/Downloads/abcdg"; 
NSData *encryptedData = [NSData dataWithContentsOfFile:@"Users/DivyaDinesh/Downloads/abcde"]; 


NSError *error; 

NSData *decryptedData = [RNDecryptor decryptData:encryptedData withPassword:@"ABC123" error:&error]; 
[decryptedData writeToFile:destPath1 atomically:YES]; 

я получаю пустой текстовый файл как вывод, что я делаю неправильно здесь? пожалуйста, помогите

Почему? как исправить это может кто-нибудь дать решение

+1

А как насчет 'error' параметра? Что похоже на 'decryptedData'? Как насчет параметра 'kRNCryptorAES256Settings', который не отображается в расшифровке? Так может быть: 'NSData * decryptedData = [RNDecryptor decryptData: encryptedData withSettings: kRNCryptorAES256Settings пароль: @" ABC123 "error: & error];'? – Larme

+0

Я тоже попробовал, что на самом деле я получил эту идею по этой ссылке http://highaltitudehacks.com/2013/09/26/ios-dev-encrypted-images-and-saving-them-in-app-sandbox/ и изменен это – Divya

+0

, пожалуйста, проверьте, что файл поврежден или нет, отображается ли размер в 82 байта или что-то в этом роде? вы пытались прочитать, чтобы прочитать содержимое соответствующего файла и поместить его в 'NSString'? попробуйте это и оставьте ответ. – Mukund

ответ

0

ОК, если это так, то я думаю, что ваш файл поврежден или система не извлекает его. сделайте одно, попробуйте зашифровать и дешифровать другой файл, попробуйте, если он работает или нет.

Иногда это происходит в Mac, когда вы пытаетесь создать текстовый файл в mac в textedit, и когда u сохраните его как say somefile.txt, появится предупреждение и сообщите "cannot save this document with extension txt to the end of the name", обратите внимание, что это происходит, когда вы пытаетесь его сохранить с расширением «.txt» до конца его имени.

Я создал файл в textedit, и когда я зашифровал как u сказал в вопросе, я получил его размер как 82bytes, тогда я создал еще 2 файла в текстовом редактировании и зашифровал их, они также содержат одинаковый размер 82. И i не удалось дешифровать одни и те же файлы, размер расшифрованного файла отображается как 0 байт, без содержимого. Я не знаю, получал ли дешифрованный файл 0 байтов.

тогда я дал файл, который не существует в моей книге mac в качестве исходного файла для шифрования. к моему удивлению, я получил зашифрованный файл с именем, которое я предоставил, и это тоже с тем же размером в 82 байта!

Затем для решения создайте текстовый файл в текстовом формате и сохраните его как rtf, затем перейдите в то место, где u сохранили его в системе ur, и переименуйте файл, подобный этому.

Если ваше имя файла является некотором, то переименуйте его как somefile.txt.

Теперь попробуйте сделать шифровать и расшифровывать снова, он будет работать :-)

+0

Спасибо за ответ – Divya