есть id, соответственно id1 и id2. Если абонент id1 отправляет сообщение id2 то он создает некий идентификатор чата, который сохраниется на сервере и где будет хранится последующая переписка абонентов. Как сделать так чтобы каждый из абонентов зная только свой id и id собеседника могли формировать одинаковый идентификатор чата?
хэшировать например id1-id2
при первой инициализации пары - генерировать рандомно и сохранять в бд
его тогда даже в бд сохранять не придется
тогда будут коллизии
Неполучится, перед отправкой сообщения каждый из абонентов должен генерировать одинаковый ключ, а при хешировании мы получим два ключа id1-id2 и id2-id1
Инициализация это когда один абонент получает id другого абонента, при этом никая персистеность не должна возникать, только когда абоненты рельно начали обмениватся сообщениями.
особенность хеш функции - она может для разных значений сгенерировать один и тот же хеш
The probability of just two hashes accidentally colliding is approximately: 4.3*10-60.
Обсуждают сегодня