Мое приложение Delphi использует TurboPower LockBox 3 для шифрования информации открытого текста с использованием AES 256. Теперь я хочу расшифровать эту информацию с помощью PHP. Но у TurboPower LockBox 3 есть некоторые проблемы совместимости.
Пожалуйста, проверьте сообщение автора LockBox 3 здесь для деталей:
http://lockbox.seanbdurkin.id.au/tiki-view_forum_thread.php?comments_parentId=363&topics_offset=1
И аналогичный пост в Stackoverflow
Безопасное решение для шифрования ключей в Delphi & PHP?
В LockBox 3 во время шифрования вы устанавливаете пароль. Этот пароль затем используется как семя для генерации ключа и iv. Так кто-нибудь смог подражать методу генерации ключей на стороне PHP? Или я могу получить ключ / IV, созданный LockBox 3, и поместить его в свой PHP-код, чтобы файл можно расшифровать?
Как указывалось ранее, IV nonce добавляется к сообщению зашифрованного текста. Поэтому, чтобы получить его на стороне PHP, просто извлеките первые 8 байтов.
Вам нужно решить, находится ли общий секрет в формате строки пароля или в формате двоичного ключа. Симметрический класс Key (TSymetricKey) имеет метод SaveToStream (), который работает так, как вы ожидали. Компонент TCodec имеет свойство Key, которое будет доступно после установки шифрования, режима цепочки и пароля.
Все методы являются самодокументирующими и делают в значительной степени то, что они читают, однако, если вам нужен демо-код, сохраняющий ключ для потока, сообщите мне.