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"
したがって、ユーザーがシークレット コードを発見すると、Web ページ (Python スクリプト) に移動し、HMAC で暗号化された共有シークレットが CGI パラメーターとして渡されます。
http://mysite/competition.py?encodedSecret=3dfdfdg343jkfjk390kl
次に、私の python スクリプトは CGI パラメーターを調べて解読し、共有シークレット (アプリを持っているユーザーからのコンテスト エントリであることを確認するため) とシークレット コード (ユーザーが何かを獲得したかどうかを確認するため) を取得します。
私の質問は: Python スクリプト (hashlib モジュールを使用) が、Crypto++ を使用して C で暗号化されたものを復号化することは可能ですか?