Ответы пользователя по тегу C++
  • API для сайта и приложения, как сделать?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    Я бы не усложнял и сделал бы дополнительную проверку контрольной суммы в передаваемом хеше ключа.

    - Не предавал бы ключ в открытом виде а шифровал бы его во что-то типа
    key = md5(ключ + соль)

    - Дальше бы генерил доп строку, на основе данных доступных обоим сторонам запроса, например:
    check = md5(внешний ip)

    - Дальше бы по спец алгоритму о котором знаю только я и оба софта, смешивал бы значение key и check. Например, первые 5 символов в check добавлял бы через букву в key. Для особой паранойи можно способ шифрования сделать от версии ПО или вообще предварительным запросом к серверу

    - На серваке опять восстанавливал бы key и часть check, и сравнивал бы с сгенерированным check на сервере.

    - Если check совпал, тогда бы сверял key со своей базой

    Даже в случае перехвата, алгоритм подобрать будет сложно. А брутфорс на серваке можно отслеживать. Разумеется от дизассемблирования, это не спасет.. но тот кто может позволить себе понять алгоритм шифрования по исходникам ассемблера (т.е. разобраться как генерится check и что используется за соль), вряд ли не сможет просто вырубить запрос к серверу или ограничения...

    -
    Ответ написан
    3 комментария