我有一个竞赛,人们可以用他们在Android应用程序中发现的秘密代码参加。我选择的方法是使用共享秘密编码(加密?)来确保只有购买了应用程序的人才能参加比赛Shahmac带256。
所以我的秘密将在Android应用程序中用C加密(使用Crypto++),你对beter SHA库有什么建议吗?我发现Crypto++很难使用)。在
这只是一个例子:
Unencrypted shared secret = "my shared secret"
Unencrypted secret code = "abcdef"
Encrypted shared secret = "dsgdfgdfgdfgfdgf"
Encrypted shared secret = "ddffgdgdf"
因此,当用户发现机密代码时,他们将被带到网页(python脚本)&HMAC加密的共享机密将作为CGI参数传递:
http://mysite/competition.py?encodedSecret=3dfdfdg343jkfjk390kl
然后我的python脚本将查看CGI参数并对其进行解密以获得共享机密(验证竞争条目是否来自拥有该应用程序的用户)和机密代码(以查看该用户是否赢得了任何东西)。在
我的问题是:python脚本(使用hashlib模块)是否可以对使用Crypto++在C中加密的内容进行解密?在
当以这种方式使用散列时,通常会将机密代码(明文形式)以及机密代码和共享机密的哈希传递到您的网站。然后,web站点可以执行相同的哈希(因为它知道共享机密),并验证结果是否相同。在
“破解”服务器上的哈希是一项额外的工作,我看不出它是如何增加任何安全性的。在
如果不能以明文形式传输代码,那么在对称加密算法(例如AES)中使用共享机密作为密钥会更有效。在
相关问题 更多 >
编程相关推荐