и извините за мой плохой английский!
я использовал реализацию php-blowfish отсюда:
http://www.php-einfach.de/diverses/php-verschluesselung-mittels-blowfish/
-или же- http://www.php-einfach.de/wp-content/uploads/scripts/blowfish.zip
все работает отлично, я могу зашифровать и расшифровать файлы так, как я хочу — но теперь я перенес зашифрованные файлы на другой сервер, и здесь в ~ 1% случаев дешифрование происходит неправильно.
вот соответствующий тест-код:
require("blowfish.class.php");
$key = "ad31acd6f0a1eda8a3f54a94622bc9a3";
$cipher = "WZKcvwAEMEXkANZRfoES8xJmArzAwDbCNCskd0ve83OT6ubO1rZvRdzYb5h2qbhvHVklu4ZduBA";
$blowfish = new Blowfish( $key );
$DECfilename = $blowfish->Decrypt( $cipher );
Нет никаких подозрительных символов в ключе или шифре — ни в правильно понятом результате («2017-08-07_1053-Seebuehne_Bregenz_Selfie.jpg«)
оригинальный сервер:
PHP Version 5.6.30, SunOS 5.10 Generic_150400-09 sun4u
Сервер с проблемами:
PHP Version 5.6.31, Linux 5dcbb2e6ba8c 4.11.12-041112-generic #201707210350 SMP Fri Jul 21 07:53:15 UTC 2017 x86_64
и другой:
PHP Version 5.6.28, Linux ubuntu 3.13.0-101-generic #148-Ubuntu SMP Thu Oct 20 22:08:32 UTC 2016 x86_64
оба альтернатив-сервера равны в сбое, расшифруйте пример выше до чего-то вроде
2017-08-f+ Y���+Seeb� 4�1[Ɵ z#Z 6�` �� ����� R
это вещь для окружающей среды? Как я уже сказал, в 99% другие серверы могут расшифровывать файлы, только очень немногие устойчивы. но тестовый код настолько уменьшен, что не может быть проблемы из-за передачи между хостами, я думаю.
Задача ещё не решена.
Других решений пока нет …