[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сравнение deflated строк
Alchemist
Кто-нибудь знает всегда ли для идентичных входных агрументов gzdeflate() будет возвращать один и тот же результат ?

Я погонял тесты - вроде всегда, но хотелось бы уверенности. Гугл, увы, не помог...

ЗЫ: Спрашиваю потому что знаю, что gzencode(), например, может возвращать разный результат для одного инпута.
stump
Для одних и тех же данных и параметров результат будет примерно один и тот же. Вроде когда строка архивируются то для алгоритма архивации берутся опорные элементы которые генерируются согласно алгоритма псевдослучайных чисел. Если по байтно сравнивать текст то могут быть отличия, но если предположить что результат это архивная строка тогда да, результат одинаковый.

_____________
Трус не играет в хокей
killer8080
Цитата (Alchemist @ 21.06.2015 - 10:41)
Кто-нибудь знает всегда ли для идентичных входных агрументов gzdeflate() будет возвращать один и тот же результат ?

Я бы не стал на это полагаться.
А для чего нужна такая идентичность?
Alchemist
Делаю на сайте интеграцию с системой заказа гостиниц. В большинстве случаев ID комнаты - это строка примерно в 10 символов. Но в отдельных, особо дебильных случаях это xml документ на 1,5 кб...

Поскольку эти случаи редки, то они не были обнаружены до этапа сертификации скрипта. Разумеется переделывать весь скрипт никто уже не будет, поэтому решение на котором я пока остановился - это переделывать все ID в "удобоваримые" строки путем base64_encode(gzdeflate()) и восстанавливать уже перед передачей во внешнюю систему.

Однако поскольку это все же IDшники - то и в моем скрипте они используются для поиска/идентификации комнат при общении с посетителями сайта. Паковать/восстанавливать их для каждого сравнения накладно - отсюда и вопрос: можно ли сравнивать упакованые строки ?
bestxp
а что мешает их сравнить ? строки же
bestxp
сделай проще
храни хеш от строки у себя как ID и оригинальный для других систем у себя ищи по этому ID в систему передавай тот который нужен
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.