Вопрос по encryption, java, aes, des – Java PBEWithMD5AndDES

10

Я использую шифрование на основе пароля. Сначала я думал использовать шифрование AES для файла, который содержит пароли. Оказывается, шифрование на основе пароля не поддерживает AES. Он использует DES. AFAIK des не является безопасным. Достаточно ли безопасен PBEWithMD5AndDES для защиты моих данных или я должен искать другую реализацию?

Кажется, вы используете некоторые выражения в замешательстве. "Шифрование на основе пароля " относится к схеме, в которой файлы шифруются ключом, полученным из passowrd. (Например, стандарт PKCS # 5 является схемой шифрования на основе пароля). То, что вы хотите, - это что-то другое, то есть схема безопасного хранения / управления паролями. Следовательно, PBEWithMD5AndDES - это не то, что вам нужно, независимо от того, насколько он защищен или небезопасен. Accipitridae
Теперь это полностью устаревший вопрос, AES поддерживается для шифрования на основе паролей начиная с Java 6, хотя я должен упомянуть, что он должен использоваться только дляна месте шифрования как это не хватает защиты целостности. Maarten Bodewes

Ваш Ответ

3   ответа
-1

соленый хеш-дайджесты

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

Это персональное приложение для хранения паролей. Игрушечный менеджер паролей. Hamza Yerlikaya
-1, неответить на вопрос Peter Dolberg
3

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

16

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

Вы делаете все правильно, ваша проблема в том, что провайдер криптографии SunJCE Java не• Поддержка AES для шифрования на основе пароля. Вам нужно использовать альтернативного поставщика, который: например, вы можете использоватьНадувной Замок провайдер с алгоритмом"PBEWITHSHA256AND128BITAES-CBC-BC", (Несмотря на причудливое название, Bouncy Castle пользуется большим уважением).

Что касается "DES достаточно безопасен для моих данных "хорошо, если данные выЗащита будет стоить злоумышленнику менее 10000 долларов, тогда как в 2009 году, вероятно, он был достаточно безопасным. А в 2014 году, если ваши данные вообще стоит шифровать, ответ - нет.

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

Похожие вопросы