Шифрование файла с использованием компонента Delphi и дешифрование с помощью другой утилиты - PullRequest
2 голосов
/ 09 февраля 2012

Мне нужно использовать компонент Delphi для шифрования файла, который затем можно расшифровать с помощью свободно доступной утилиты. Я провел некоторые эксперименты без успеха. Ниже я перечислю свои требования и то, что я уже предпринял.

Требования:

  • Бесплатный компонент с источником, если это возможно.
  • Совместимо с Delphi XE. Поэтому меня беспокоит только 32-битная поддержка.
  • Должен иметь возможность расшифровать результат с помощью бесплатной утилиты для Windows.

Вот что я пробовал:

  • LockBox 2, Rijndael 128-битный CBC
  • LockBox 3, 128-битный CBC AES
  • DCPCrypt2
  • Расшифровка каждого из вышеперечисленных с помощью OpenSSL.exe

Другие переменные:

  • Я еще не пробовал Windows CryptoAPI. Это следующий пункт в моем списке, чтобы попытаться.
  • Я бы предпочел использовать AES, но это не является строгим требованием.
  • Я бы предпочел не использовать пару секретный / открытый ключ. Я бы предпочел, чтобы расшифровка была возможной с использованием пароля или парольной фразы.

Я знаю, что компоненты SecureBlackBox высоко ценятся. Если вы знаете из опыта, что компонент SBB может делать то, что я ищу, то я хотел бы знать об этом. Это дорогой вариант, но мы его рассмотрим, будет ли он действительно работать.

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

1 Ответ

6 голосов
/ 09 февраля 2012

Если ваша цель - только Windows, почему бы вам просто не написать эту бесплатную утилиту?

Вы убедитесь, что он соответствует тому же алгоритму, что и в вашем приложении.

И вы можете добавить наш открытый источник в свой список - я только что добавил CBC / ECB / CFB / OFB / CTR режимы в AES 128, 192 или 256 бит - и образец заполнения PKCS7. И у вас есть быстрые функции MD5, SHA1 или SHA256 для создания вашего ключа из пароля.

У вас есть полный исходный код, и он работает от Delphi 5 до XE2, БЫСТРО, поддерживается и кроссплатформенен.

Я использую это устройство для безопасного шифрования между Delphi и кодом C #:

Это проверенная и простая схема.

...