Сохранен 37
https://2ch.hk/b/res/222614692.html
24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Аноним OP 14/06/20 Вск 22:49:12 #1 №222614692 
image.png
image.png
Двач, блять, что за хуйня? Как файлы с разными размерами могут иметь, блять, одинаковый md5-хеш? Что за хуйня, блять?

Уже 7 лет ковыряю движок для борд, чисто по фану. Ковыряю раз в полгода, но вот увидел что при загрузке файла не убирается EXIF-дата. Решил это исправить. Нагуглил что лучший способ это пересоздать картинку imagecreatefromjpeg + imagejpeg.
И мне начало выдавать ошибку, что после удаления EXIF-данных и перемещения из временного файла PHP в нормальную картинку - размеры файлов не совпадают.
Написал тестик: на каждом этапе сохраняется размер и хеш, пик2. origin - это картинка которую я отправил, after_imagejpeg это после удаления EXIF, а end_file это после перемещения в папку где картинки хранятся.

И Я БЛЯТЬ ОХУЕЛ
У 2х последних картинок до перемещения move_uploaded_file и после разный размер, но одинаковый блять хеш!
Анон, разве такое возможно?

Код-говнокод пикрелейтед. Вырезал из него всякую хуйню типа проверки поддерживаемого типа и т.д., чтобы все 3 этапа стояли вместе.
Думаю разобраться легко.

Я понимаю что я кодерская обезьянка, не бейте, но я реально нахуй что-то не понимаю что за хуйня.
1) Как может быть разный хеш, если содержимое одинаковое?
2) Как чисто функция move_uploaded_file может увеличивать ебучий размер, если даже оригинальная картинка блять меньше?
Аноним 14/06/20 Вск 22:50:38 #2 №222614833 
image.png
Сорян, немного неправильно заскринил код.
origin записывался в массив выше всего этого, естественно - до начала удаления данных.
Аноним 14/06/20 Вск 22:52:04 #3 №222614968 
>>222614692 (OP)
>1) Как может быть разный хеш, если содержимое одинаковое?
* одинаковый хеш если содержимое разное
Фикс. Я уже успел накидаться с горя.
Аноним 14/06/20 Вск 22:53:18 #4 №222615078 
>>222614692 (OP)
Я всегда знал что пыхапышник синоним слову "долбоеб"
https://en.wikipedia.org/wiki/Collision_(computer_science)
мимо питон-господин
Аноним 14/06/20 Вск 22:53:37 #5 №222615109 
>>222614968
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%BB%D0%B8%D0%B7%D0%B8%D1%8F_%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8
Аноним 14/06/20 Вск 22:56:19 #6 №222615364 
>>222614692 (OP)
А почему не могут? Количество возможных хэшей ограничено его длинной, а количество возможных файлов безгранично. Коллизии неизбежны
Аноним 14/06/20 Вск 22:57:33 #7 №222615482 
>>222615078
Этот сечет фишку. Я тоже как бы скриптовик-зайтейник (руби\питон), но тут ответ даже не в комьютенр саенс, это блядь бытовая логика, но пхпешники и в нее не могут
Аноним 14/06/20 Вск 22:59:56 #8 №222615714 
скинь эти две картинки дебс
Аноним 14/06/20 Вск 23:03:10 #9 №222615960 
image.png
>>222615078
>>222615364
Окей, это не мой проёб, уже хорошо.
Что с этой хуйнёй делать? Использовать другие алгоритмы?

А что начёт увеличения размера? Я проверяю ебучий tmp файл на каждом этапе - и хуйня происходит где-то на move_uploaded_file.
Аноним 14/06/20 Вск 23:04:10 #10 №222616045 
>>222614692 (OP)
Хех, работать с хэшем и не знать что такое коллизии
Аноним 14/06/20 Вск 23:04:10 #11 №222616046 
IMG20200612073531.jpg
1592160510598.jpg
>>222615714
Та, чо размером меньше - та оригинал. Что больше - ту выдаёт move_uploaded_file.
Геолокации там нет, не пытайся. Да и не я их пилил.
Аноним 14/06/20 Вск 23:06:45 #12 №222616252 
А, забыл сказать.

Если изменить 3й параметр imagejpeg, то меняется почему-то меняется размер только в end_file, но не в after_imagejpeg! Я нахуй не понимаю: если imagejpeg записывает на 2м этапе другой размер из-за 3го параметра, то почему это не отражается на размере after_imagejpeg?
Аноним 14/06/20 Вск 23:08:02 #13 №222616365 
>>222616045
Работаю с ним только чтобы получать уникальные идентификаторы для картинок. От автора движка осталось, а я и не менял, ибо не знаю чем заменить
Аноним 14/06/20 Вск 23:10:46 #14 №222616574 
image.png
>>222616046
Сейчас мд5 проверю
Аноним 14/06/20 Вск 23:12:25 #15 №222616685 
image.png
>>222616574
ОП - хуй
Аноним 14/06/20 Вск 23:30:36 #16 №222618261 
image.png
image.png
>>222616685
Suqa, и что это за хуйня тогда? Пиздец ебаный какой-то.
Аноним 14/06/20 Вск 23:32:58 #17 №222618466 
>>222618261
Очень похоже что во второй раз ты считаешь КС второго файла, а пишешь первого.
Аноним 14/06/20 Вск 23:33:14 #18 №222618487 
>>222618466
* размер первого
Аноним 14/06/20 Вск 23:35:49 #19 №222618701 
image.png
>>222618466
Если ты о том, что я это специально, то нахуй нет. Я блять тут во фрустрации сижу уже 3.5 часа и думаю что за хуйня происходит.
Аноним 14/06/20 Вск 23:41:09 #20 №222619114 
>>222618701
Нет, не специально, я в душе не ебу как пхп работает, я вижу по коду что второй и третий файл это один и тот же файл, вижу что совпадает размер первого и второго файла по выводу. Подсчитай другие КС там же, они так же совпадут. Во втором случае ты пишешь размер одного файла и КС от другого.
Аноним 14/06/20 Вск 23:53:01 #21 №222619939 
>>222619114
Только-что запилил заново копию, и прогнал через консоль: на странице показывает одинаковые хеши, в консоли - разные. Пиздец я хуею.
Окей, я ебал, завтра уже разбираться буду, а сейчас откачу всё как было. Если завтра окажется что я где-то что-то не то написал, то я охуею

Спасибо всем кто тут со мной аутировал.
Если у кого будет идея что я не так сделал с move_uploaded_file, то пишите, открытым оставлю пока не потонет
Аноним 15/06/20 Пнд 00:38:59 #22 №222622890 
>>222619939
нахуй пошел пхпблядь
Аноним 15/06/20 Пнд 00:43:44 #23 №222623165 
>>222614692 (OP)
А ты заебаш каждому файлу по 2 хэша: 1 по размеру, 2 по самому файлу. Профит.
Аноним 15/06/20 Пнд 00:54:57 #24 №222623795 
>>222614692 (OP)
Ты шо, тупой? Это хеш, коллизии неизбежны, это и так очевидно - разных хешей длины 32 всего 16^32, а разных файлов твоего размера - 8^5256735... По-моему все очевидно.
Хэш это не идентификатор, если ты где-то тупо используешь его как ключ - убейся иди читай алгоритмы.
Аноним 15/06/20 Пнд 01:01:14 #25 №222624099 
>>222614692 (OP)
Хоть тебе петушня в треде и правильно говорит про существования коллизий, в данном случае ты либо вошел в историю компьютерных наук, что маловероятно, либо ошибся в коде, как тебе уже говорили. Судя по тому, что ты даже не в состоянии это отдебажить, квалификация у тебя такая себе, поэтому ставлю на ошибку.
Аноним 15/06/20 Пнд 01:18:56 #26 №222624939 
>>222614692 (OP)
Хеш то генится по всему файлу и да, коллизия.
Ты тут наговнокодил. Я бы помог, не ПеХеПе не мой.
Мимо Jaba junejuleкладбищепидор
Аноним 15/06/20 Пнд 01:29:05 #27 №222625401 
>>222615078
>>222614968
Эмм, питонодауны, вы сами-то понимаете, какова вероятность коллизии МД5-го?
Пиздец, вот явный пример того, какие ебланы пошли в питон. Раньше ПХП был бичом #1, сейчас первое место почётно делят питон и ПХП.
Аноним 15/06/20 Пнд 01:30:54 #28 №222625505 
>>222615078
Скажи, дебилушка, нахуй ты скинул статью на инглише, если русский вариант более полный?
https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%BB%D0%B8%D0%B7%D0%B8%D1%8F_%D1%85%D0%B5%D1%88-%D1%84%D1%83%D0%BD%D0%BA%D1%86%D0%B8%D0%B8
Аноним 15/06/20 Пнд 01:47:40 #29 №222626315 
>>222623795
>если ты где-то тупо используешь его как ключ
Обоссан хешмапами
Аноним 15/06/20 Пнд 02:03:12 #30 №222626972 
>>222624099
Всегда нужно верить в чудо.
Аноним 15/06/20 Пнд 02:08:24 #31 №222627171 
>>222615960
>Использовать другие алгоритмы?
Генерь UUID
Аноним 15/06/20 Пнд 02:11:50 #32 №222627297 
>>222614692 (OP)
>Двач, блять, что за хуйня? Как файлы с разными размерами могут иметь, блять, одинаковый md5-хеш? Что за хуйня, блять?
LUL. Ты рофлишь чтоле?
Аноним 15/06/20 Пнд 02:21:55 #33 №222627675 
>>222625401
> какова вероятность коллизии МД5-
1 блок. 512 бит, не так уж и много, 64 байта. Есть алгоритмы для поиска таких коллизий, уже лет 10 как.
Аноним 15/06/20 Пнд 02:27:11 #34 №222627855 
Screenshot7.jpg
Вы блять дебилы все нахуй...
Аноним 15/06/20 Пнд 02:37:43 #35 №222628207 
Ну хуле, маняэлитарии-саморазвиванцы с двача дальше Hello world не заходили т.к. они умные но ленивые.
Аноним 15/06/20 Пнд 03:51:29 #36 №222629947 
>>222614833
Ебать, код говно. PNG бобму тебе буду подбрасывать каждые пару секунд, чтобы у тебя сервер сожрал всю оперативу.
Аноним 15/06/20 Пнд 05:32:42 #37 №222631760 
>>222626315
Хэшмапы предусматривают существование коллизий, там вообще хэши быстрые и простые, поэтому не очень уникальные.
comments powered by Disqus

Отзывы и предложения