Если вы читали эту ветку раньше - забудьте обо всем, что я написал , я, должно быть, был пьян, когда писал это. Я начинаю сначала:
В настоящее время я работаю над проектом, в котором мы будем использовать какой-то алгоритм для проверки пользовательского ввода. Есть три стороны для рассмотрения;
Клиент - Просмотр наших веб-страниц
Компания - Мы обрабатываем запросы клиентов
Сторонняя компания - Обработка клиентских сообщений
На наших веб-страницах мы будем показывать Клиенту некоторую информацию о продукте. Если он / она хочет получить больше информации о продукте, он должен связаться со сторонней компанией и указать код продукта (не сам по себе, но и не распространенный). Взамен Клиент получит какой-то другой код от сторонней компании, который он должен будет ввести на нашей веб-странице, где мы проверим код для утверждения.
Лучше всего было бы, если бы мы, Компания, не взаимодействовали со Сторонней Компанией. Чистое шифрование выходит за рамки возможного, потому что оно генерирует слишком длинную строку. Мы делаем это с помощью SMS, поэтому коды должны быть короткими.
То, что я до сих пор придумал:
Для каждого продукта я генерирую несколько уникальный код (не важно, уникален он или нет) в базе 16 (0-f). Клиент, которому нужна дополнительная информация о продукте, отправляет SMS-сообщение сторонней компании с указанием кода продукта. В свою очередь, клиент получает тот же код, но цифры умножаются (возможно, на 2) и преобразуются в базу 36. Кроме того, в код добавляется последний символ, контрольный номер, чтобы сделать код действительным для Luhn алгоритм в базе 36. Пользователь вводит полученный код, и мы, Компания, проверяем его на стороне сервера по коду продукта (проверяем по Луну, делим на 2 и переключаемся обратно на базу 16).
Это звучит достаточно безопасно и уместно? Является ли это допустимым способом отправки сообщений тремя сторонами, когда двум из них не нужно общаться?
Извините за правку, но, наверное, я был где-то в другом месте, когда писал первый пост.