Лучший способ получить данные из текста (символ *) - PullRequest
1 голос
/ 26 ноября 2010

Эй, Я отправляю сообщения через TCP и UDP от клиентов на сервер, в то время как сервер написан на C ++. Мне интересно, какой будет лучший, должен быть безопасный способ отправки, например, если я хочу отправить данные для входа: электронную почту, пароль и IP. Как лучше всего отправить его в сообщении и прочитать данные на сервере, пока эти данные хранятся в символе *.

Спасибо.

Ответы [ 2 ]

4 голосов
/ 26 ноября 2010

Это на самом деле не имеет ничего общего с C ++.Вы задаете общий вопрос об информационной безопасности.Вы хотите отправить информацию через TCP или UDP, которая включает в себя конфиденциальную информацию (адрес электронной почты, пароль и IP).Для этого вам нужно использовать криптографию.

Криптография - сложная область, в которой вы не должны пытаться создавать свои собственные протоколы, если вы не знаете много о том, что вы делаете.Вместо этого вам следует избегать UDP (поскольку ОЧЕНЬ сложно сделать шифрование правильно по UDP) и просто использовать SSL по TCP.

Чтобы сделать это из C ++, вы можете использовать библиотеку сокетов OpenSSL.И клиент, и сервер связаны с библиотекой.Если вам нужна небольшая помощь, вы можете выполнить отладку с помощью sslwrap, инструмента командной строки, который позволяет вам использовать сокеты открытого текста с вашего клиента и сервера, но иметь незашифрованные данные, заключенные в соединение SSL TCP.

0 голосов
/ 26 ноября 2010

Как сказал другой автор, не беспокойтесь о C ++; используйте SSL или TLS. Это означает, что вам потребуется приобрести сертификат для сервера, и это будет стоить вам от 50 до 1500 долларов, если вы получите коммерческий сертификат, или вы можете получить свой собственный в центре сертификации интрасети, который вы создаете самостоятельно.

Эта мера зашифрует сообщение и гарантирует, что ваш клиент на самом деле «общается» с подлинным сервером, а не с самозванцем. Однако если вам требуется, чтобы клиент также проходил проверку подлинности, вам потребуется второй сертификат (точнее, по одному на клиентский компьютер). Если это слишком тяжелый вес для нужд вашего клиента, рассмотрите возможность использования HMAC, чтобы помочь определить авторизованного клиента от самозванца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...