Мне интересно, можно ли повторно использовать подпись файла PHAR. Как описано в руководстве , каждый файл имеет манифест, который содержит много вещей, которые могут быть подделаны, и 4 байта контрольной суммы CRC32, что является плохим выбором (md5 или sha1 будет очень безопасным), но может быть сфальсифицированы чем другие вещи. У меня есть сомнения относительно правильности контрольной суммы, используемой при создании подписи для проверки. Я имею в виду, что медленное создание контрольной суммы при каждом включении файла phar, но добавление кэша манифеста, в котором содержится контрольная сумма, не является вариантом, если вы хотите оставаться в безопасности (поскольку относительно легко изменить этот кеш, если он сохраняется в файле phar). Вы знаете, как пакеты phar быстро решают эту проблему?
Документацию довольно сложно выполнить, а в некоторых местах устарели, но проверка выглядит следующим образом:
Ваш вопрос говорит о скорости процесса подписания и проверки, и это ключевая часть вашего подозрения, что может играть небезопасный алгоритм. Википедия суммирует производительность SHA-256/512 как 200-300 Мбайт / секунду на недорогом 64-битном процессоре. Поскольку архив PHAR вряд ли будет иметь размер 200 Мбайт, а так как проверка подписи выполняется по требованию, а не при каждом выполнении (по крайней мере, я так думаю), доля секунды для хэша весь файл вряд ли будет вопрос. (Создание подписи также может быть отложено до тех пор, пока не будут добавлены все файлы, поэтому снова не требуется более высокая скорость).