Какую библиотеку шифрования и дешифрования паролей лучше всего использовать с Perl?[закрыто]

StackOverflow https://stackoverflow.com/questions/459614

Вопрос

Я пишу perl-скрипт, который манипулирует защищенными паролем zip-файлами.Следовательно, мне нужно хранить и извлекать пароли, чтобы сделать это.У меня есть три варианта сохранения пароля:

  1. Хранить в виде обычного текста.Прежде чем вы перейдете к делу, я в значительной степени исключил этот вариант.
  2. Используйте простой пароль munger для предотвращения случайного доступа (даже со стороны администраторов баз данных)
  3. Используйте соответствующую библиотеку шифрования / дешифрования, такую как Blowfish или AES.

Все, что я выберу, должно работать на Perl, под Windows и быть простым в использовании.

Есть какие-нибудь предложения?

Это было полезно?

Решение

Существует несколько пакетов шифрования Perl, которые работают в Windows, вы можете загрузить PPMs с ActivePerl package manager.

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

Я нашел эти модули на CPAN:

Другие советы

Основная проблема с подходом 3 заключается в том, где вы храните ключ к файлу, который содержит пароли?Вы могли бы использовать Base64 для подхода 2, но это очень легко "расшифровать".

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

Если вы используете Windows, вы можете использовать DPAPI для шифрования AESkey и сохранить его в реестре.В Perl есть модули для взаимодействия с библиотеками Win32.

Наилучшее шифрование является субъективным, однако по состоянию на январь 2009 года AES 128 достаточно надежен для шифрования ваших данных.

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

Очевидно, вы правы, № 1 отсутствует.

И № 2 тоже отсутствует, по сути, по той же причине.Это небезопасно.

Что касается # 3, могу ли я предположить, что это тоже исключено.Расшифровка пароля переводит его в более уязвимое состояние для сравнения.НО, если вы собираетесь это сделать, могу я предложить использовать Crypt:: CBC С Crypt::Blowfish для Цепочка блоков шифрования.

[рекомендуется] #4:Вместо того, чтобы хранить пароли для извлечения, расшифровки, а затем сравнения, как в # 3.Использование Аутентификация::Кодовая фраза довольно полный и гибкий Perl-модуль, который позволяет сравнивать введенный пароль без расшифровки оригинала.Смотрите также Как я могу зашифровать и расшифровать пароли в программе Perl CGI?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top