Эй, я хочу проверить целостность программного обеспечения, которое будет распространено на разных серверах разных типов. Могу ли я безопасно использовать сопоставления файлов filesize() ... например, будет ли размер файла 745 на моем сервере равен 745 на всех других серверах?Проверки целостности для проверки целостности
ответ
Да. Однако это не является надежным способом проверки целостности. Я бы, по крайней мере, добавил CRC. Сильная хеш-функция, такая как SHA-256, была бы лучше. Независимо от того, вы можете использовать hash_file.
Размер файла может отличаться, потому что окончание строк различно для разных ОС. В конце строки Windows есть CRLF, на Linux LF, на Mac (включая OS X) это CR. Лично я бы просто поместил весь источник в архив, вычислил контрольную сумму (sha1 или md5) и опубликовал ее на веб-сайте, поэтому пользователи, загружающие пакет, могут проверить правильность самого пакета.
Другим разумно популярным способом достижения этого было создание хэш-суммы (MD5) вашего файла. Однако, прочитайте Is MD5 really that bad? для cons.
Как уже говорили другие, вам необходимо проверить содержимое, а также размер - его тривиально, чтобы проложить файл до известного размера с пробелом.
Однако
программное обеспечение, которое будет распространяться на многих различных типов серверов
В зависимости от того, как загрузить файлы на сервер размер может отличаться в зависимости от заданных преобразований символов - например Unix использует LF как конец строки, но операционные системы Microsoft по умолчанию используют поведение CP/M при использовании CR + LF (есть другие странности для более эзотерических операционных систем, таких как EBCDIC). то есть вам следует, вероятно, планировать отмену любого процесса перевода, прежде чем применять проверку целостности.
В качестве альтернативы вместо ссылки на отпечатки пальцев на другой сервер вы можете захватить набор отпечатков пальцев файла при развертывании в целевой системе и зашифровать его с помощью ключа, не сохраненного на целевой (то есть, который вы вводите каждый раз вы хотите проверить отпечатки пальцев), затем сохраните это вместе с кодом.
НТН
С.
- 1. Запрос проверки/целостности данных
- 2. ImageMagick для проверки целостности изображения
- 3. Рамка проверки целостности базы данных
- 4. Результаты проверки целостности NeuralNet nolearn
- 5. Выполнение проверки целостности в массиве?
- 6. Управление строкой Excel для проверки целостности данных
- 7. Параллелизуемая хеш-функция для проверки целостности данных
- 8. Использование Skein для проверки целостности файлов
- 9. Загрузка хранилища ключей без проверки его целостности
- 10. Flash 8 FileReference и файл проверки целостности
- 11. MySQL установить проверки целостности на столе
- 12. Функциональный модуль проверки целостности SAP Ledger
- 13. Пропускание проверки целостности устройства при запуске сервера
- 14. Сообщения об ошибках проверки целостности, как?
- 15. Правила проверки целостности с помощью ajax
- 16. Нарушение целостности целостности: Magento
- 17. Низкий уровень целостности для дескриптора безопасности целостности и высокой целостности
- 18. Где лучшее место для проверки ссылочной целостности в модели?
- 19. Подходящая хеш-функция для обнаружения повреждения данных/проверки целостности данных?
- 20. bash для проверки целостности типа файла и создания журнала
- 21. Есть ли инструмент для проверки целостности базы данных в Django?
- 22. SQL SELECT dynamic из RDB $ RELATION_NAME, для проверки целостности таблиц
- 23. Использование AES для проверки целостности файлов, замена MD5
- 24. Нарушение целостности целостности - Null MySQL
- 25. Быстрая проверка целостности файла
- 26. Проблемы с API-интерфейсом Microsoft iOS: ошибка проверки целостности запроса
- 27. Использование Cityhash для целостности файла
- 28. SonarQube - код проверки целостности на новый код не работает
- 29. Проверка целостности файла MD5
- 30. Yii2 RBAC GII Нарушение целостности целостности
Файл с любыми символами конца строки могут быть переданы (в виде двоичных) в любой операционной системе без изменения размера. Только когда «текстовый режим» используется для передачи, возникают проблемы с окончанием строки. –