На уникальность.
это обычный несолёный хэш файла
Ну так вот ты через постам передал файл я его принял снял хеш оригинала. Потом ты полез через мобильное приложение. Так же передал его на сервер но для сервера это уже будет другой файл так как приложение его уже сжало. А если бы мне приложение подсказало бы хеш оригинала я бы тогда точно понимал что этот файл у меня уже есть.
отправляй оригинальный хэш вместе со сжатым файлом, соль тут бесполезна абсолютно
это зависит от алгоритма сжатия. если сжатие с необратимыми потерями, как условный jpeg, то у тебя проблема, Хьюстон, т.к. после сжатия семантически это уже другой файл.
и у них нет причин быть одинаковыми.
Все правильно. По этому и создается проверка. С хешем файла до сжатия.
откуда сервер знает хэш файла до сжатия?
Он будет лежать с самс файлом.
просто храни в системе два хеша. хеш без сжатия, хеш после сжатия. и ищи в обоих колонках.
Тогда все должны 100% одинаково сжимать файлы. Боюсь это сложнее чем просто строку передать.
у тебя нет заранее известных ограничений как чего можно, а как чего нельзя сжимать?
ничего не понимаю 🙃 у вас есть файл на клиенте, вы его хотите сохранить в сжатом виде на сервере и с помощью чексуммы дедуплицировать. Насколько я понял, вы хотите сделал ответственным за сжатие и чексумму мобильное приложение, чтобы не тратить ресурсы сервера. Но если ваш сервер принимает чексумму и файл от клиента: 1. как вы проверите валидность чексуммы не посчитав её на сервере? 2. как вы поймёте прислали ли вам файл в сжатом или несжатом виде?!
1. никак. это невозможно. 2. это возможно, но не нужно.
ну второй пункт: само приложение пришлёт признак того что файл сжат
ну так расширьте мне кругозор, мне аж любопытно стало как вы с помощью шифрования пытаетесь чексумму и факт сжатия проверить
какой именно признак?
осеннее обострение просто полным ходом.
кстати про сжатие, я такого ещё не делал, но действительно ли можно распознать факт сжатия? предполагаю разные алгоритмы создают некоторые header'ы в самом сжатом файле по которым можно предположить какой алгоритм использовался но опять-же такое можно превратить в условный zip-bomb
можно по заголовкам. многие протоколы сжатия в байты в начало или в конец зашивают метаинфу.
но это же легко подделать и подсунуть серверу бомбу
zipbomb где мое дество
как и любой другой протокол. в данном случае "бомбо" - это просто ошибка при попытки разжать обратно, не более.
Обсуждают сегодня