【发布时间】:2011-10-28 13:55:22
【问题描述】:
我正在寻找允许我在我的应用和 HTML 页面之间使用共享密钥的协议/算法。
共享密钥旨在确保只有拥有该应用程序的人才能访问该网页。
我的问题:我不知道什么算法(我的方法来验证对 HTML 页面的有效访问)以及我应该为此使用什么加密协议。
人们向我建议我使用 HMAC SHAXXX 或 DES 或 AES,我不确定我应该使用哪个 - 你有什么建议吗?
我的算法是这样的:
- 我创建了一个应用程序和 HTML 页面都知道的共享密钥(我们称之为“MySecret”)。为确保共享密钥始终唯一,我将在密钥末尾添加当前日期和分钟,然后使用 XXX 算法/协议(HMAC/AES/DES)对其进行哈希处理。因此,未加密的秘密将是“MySecret08/17/2011-11-11”,并且可以说它的哈希是“xyz”
- 然后我将此哈希添加到 url CGI:http://mysite.com/comp.py?sharedSecret=xyz
- comp.py 脚本然后使用相同的共享密钥和日期组合,对其进行散列,然后检查生成的散列是否与 CGI 变量 sharedSecret("xyz") 相同。如果是,那么我知道一个有效的用户正在访问该网页。
你能想出更好的方法来确保有效的人可以访问我的网页(网页允许用户参加比赛)吗?
我认为我使用 共享密钥 走在了正确的轨道上,但我验证密钥的方法似乎存在缺陷,尤其是如果哈希算法不会为相同的结果产生相同的结果时间。
【问题讨论】:
-
“app”是指桌面软件吗?
-
不抱歉,我说的是安卓应用
标签: c++ python encryption hash