我正在寻找协议/算法,这将允许我在我的应用程序& HTML页面之间使用共享密钥的。改进我的共享秘密算法/方法和建议加密协议
共享密钥旨在确保只有拥有此应用的用户才能访问该网页。
我的问题:我不知道是什么算法(我的方法来验证到HTML页面的有效访问)&我应该为此使用何种加密协议。
人们向我建议我使用HMAC SHAXXX或DES或AES,我不确定我应该使用哪一种 - 你有什么建议吗?
我的算法是,像这样:
- 我创建一个共享的秘密,在App &的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”是指桌面软件? – shesek
没有对不起,通过应用程序我的意思是Android应用程序 – Bouszeer11
可能重复的[算法:停止无效条目到Python脚本比赛](http://stackoverflow.com/questions/7034870/algorithm-stop-invalid-entries-into- a-competition-in-python-script) – geoffspear