170 похожих чатов

Валидировать на что?

25 ответов

27 просмотров

На уникальность.

Алексей- Автор вопроса
Максим Ильченко
На уникальность.

это обычный несолёный хэш файла

Алексей
это обычный несолёный хэш файла

Ну так вот ты через постам передал файл я его принял снял хеш оригинала. Потом ты полез через мобильное приложение. Так же передал его на сервер но для сервера это уже будет другой файл так как приложение его уже сжало. А если бы мне приложение подсказало бы хеш оригинала я бы тогда точно понимал что этот файл у меня уже есть.

Алексей- Автор вопроса
Максим Ильченко
Ну так вот ты через постам передал файл я его прин...

отправляй оригинальный хэш вместе со сжатым файлом, соль тут бесполезна абсолютно

Максим Ильченко
Ну так вот ты через постам передал файл я его прин...

это зависит от алгоритма сжатия. если сжатие с необратимыми потерями, как условный jpeg, то у тебя проблема, Хьюстон, т.к. после сжатия семантически это уже другой файл.

Все правильно. По этому и создается проверка. С хешем файла до сжатия.

откуда сервер знает хэш файла до сжатия?

Максим Ильченко
Все правильно. По этому и создается проверка. С хе...

просто храни в системе два хеша. хеш без сжатия, хеш после сжатия. и ищи в обоих колонках.

The Zazaeil
просто храни в системе два хеша. хеш без сжатия, х...

Тогда все должны 100% одинаково сжимать файлы. Боюсь это сложнее чем просто строку передать.

Максим Ильченко
Тогда все должны 100% одинаково сжимать файлы. Бою...

у тебя нет заранее известных ограничений как чего можно, а как чего нельзя сжимать?

Максим Ильченко
Он будет лежать с самс файлом.

ничего не понимаю 🙃 у вас есть файл на клиенте, вы его хотите сохранить в сжатом виде на сервере и с помощью чексуммы дедуплицировать. Насколько я понял, вы хотите сделал ответственным за сжатие и чексумму мобильное приложение, чтобы не тратить ресурсы сервера. Но если ваш сервер принимает чексумму и файл от клиента: 1. как вы проверите валидность чексуммы не посчитав её на сервере? 2. как вы поймёте прислали ли вам файл в сжатом или несжатом виде?!

Roman Sharkov
ничего не понимаю 🙃 у вас есть файл на клиенте, в...

1. никак. это невозможно. 2. это возможно, но не нужно.

Алексей- Автор вопроса
Roman Sharkov
ничего не понимаю 🙃 у вас есть файл на клиенте, в...

ну второй пункт: само приложение пришлёт признак того что файл сжат

Максим Ильченко
Узко мыслите)

ну так расширьте мне кругозор, мне аж любопытно стало как вы с помощью шифрования пытаетесь чексумму и факт сжатия проверить

Roman Sharkov
ну так расширьте мне кругозор, мне аж любопытно ст...

осеннее обострение просто полным ходом.

The Zazaeil
1. никак. это невозможно. 2. это возможно, но не н...

кстати про сжатие, я такого ещё не делал, но действительно ли можно распознать факт сжатия? предполагаю разные алгоритмы создают некоторые header'ы в самом сжатом файле по которым можно предположить какой алгоритм использовался но опять-же такое можно превратить в условный zip-bomb

Roman Sharkov
кстати про сжатие, я такого ещё не делал, но дейст...

можно по заголовкам. многие протоколы сжатия в байты в начало или в конец зашивают метаинфу.

The Zazaeil
можно по заголовкам. многие протоколы сжатия в бай...

но это же легко подделать и подсунуть серверу бомбу

Roman Sharkov
но это же легко подделать и подсунуть серверу бомб...

как и любой другой протокол. в данном случае "бомбо" - это просто ошибка при попытки разжать обратно, не более.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Ребят в СИ можно реализовать ООП?
Николай
33
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Карта сайта