Я ищу протокол / алгоритм, который позволил бы мне использовать общий секрет между моим приложением и HTML-страницей.
Общий секрет предназначен для обеспечения доступа к веб-странице только людям, у которых есть приложение.
Моя проблема: Я не знаю, какой алгоритм (моя методология для проверки правильности доступа к странице HTML) и какой протокол шифрования я должен использовать для этого.
Люди предложили мне использовать HMAC SHAXXX или DES или AES, я не уверен, что мне следует использовать - есть ли у вас какие-либо предложения?
Мой алгоритм такой:
- Я создаю общий секрет, о котором знают приложение и HTML-страница (назовем его «MySecret»). Чтобы гарантировать, что этот общий секрет всегда уникален, я добавлю текущую дату и минуту к концу секрета, затем хеширую его, используя алгоритм / протокол XXX (HMAC / AES / DES). Таким образом, незашифрованный секрет будет «MySecret08 / 17 / 2011-11-11» и, скажем, хеш этого значения - «xyz»
- Затем я добавляю этот хеш к CGI URL: http://mysite.com/comp.py?sharedSecret=xyz
- Затем сценарий comp.py использует ту же комбинацию общего секрета и даты, хэширует ее, а затем проверяет, совпадает ли полученный хеш с переменной CGI sharedSecret ("xyz"). Если это так, то я знаю, что действительный пользователь заходит на веб-страницу.
Можете ли вы придумать лучшую методологию, обеспечивающую доступ действительных людей к моей веб-странице (веб-страница позволяет пользователю участвовать в конкурсе)?
Я думаю, что я на правильном пути, используя общий секрет , но моя методология проверки секретности кажется ошибочной, особенно если алгоритм хеширования не дает один и тот же результат для одного и того же ввода все время .