2015-10-12 3 views
1

Я создал утилиту, которая шифрует файл (.txt, .dox и т. Д.). Время шифрования файлов утилита запрашивает пароль у пользователя.Как указать пароль для пароля для зашифрованного файла?

Проблема

Предположим, что пользователь создал 1000 зашифрованных файлов с diffrent паролей и забыл свой пароль какой-то файл. Как он его восстановит?

Мои мысли

Я должен войти каждый пароль (в зашифрованном виде), где некоторые и по имени и размеру файла, который мы можем найти пароль файла, который может быть предоставлен пользователю, но вот некоторые улов :

  1. Там может быть много файлов с одинаковым именем и размером
  2. Пользователь может переименовать файл так что здесь мы будем помогать менее
  3. если попытаться найти пароль только размеру n может быть много файлов с одинаковым размером, и это не будет хорошим способом предоставить пользователю точный пароль.

Я также решил отправить весь пароль для пользователя на свой электронный адрес, но я нашел это LINK и изменил свою мысль.

Запрос

Что будет лучший способ, чтобы обеспечить пользователю точный пароль зашифрованного файла?

+0

Если вы хотите вернуть пароль пользователю, то зачем вам его создать? –

+0

Как вы шифруете файлы? – zaph

ответ

1

Используйте функцию хэша, такую ​​как SHA-256, чтобы идентифицировать файлы. Common Crypto на iPhone6s будет обрабатывать 1 МБ в ~ 2,3 мсек.

Вам необходимо внимательно изучить, как злоумышленник может использовать функцию восстановления пароля, чтобы получить доступ к содержимому файла.

+ (NSData *)doSha256:(NSData *)dataIn { 
    NSMutableData *macOut = [NSMutableData dataWithLength:CC_SHA256_DIGEST_LENGTH]; 

    CC_SHA256(dataIn.bytes, dataIn.length, macOut.mutableBytes); 

    return macOut; 
} 
+0

сэр, не могли бы вы подробно рассказать, как я могу использовать SHA-256 для идентификации файла. Кроме того, будет ли он работать с файлами размером от 500 до 1 гб (просто подтверждая, существует ли ограничение по размеру). Я новичок, пожалуйста ... пожалуйста, будьте немного снисходительны ко мне. –

+0

SHA - хеш-функция (алгоритм безопасного хэша). Вы используете его, обрабатывая все байты в файле и создавая 32-байтовый хеш. Тот же хеш создается каждый раз, и шансы двух разных файлов с одинаковым хэшем: никогда. Существует ограничение по размеру, есть временная стоимость, так как в ответе, что скорость составляет около 450 МБ/с в iPhone5S. – zaph

+0

спасибо, сэр. Ты обалденный –

Смежные вопросы