我有一个比赛,人们可以使用他们在 Android 应用程序中发现的密码参加比赛。我选择确保只有购买了该应用程序的人才能参加比赛的方法是使用带有 HMAC SHA256 的共享秘密编码(加密?)。
所以我的秘密将在 Android 应用程序中用 C 加密(使用 Crypto++,你有什么更好的 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 中加密的内容?