私の場合、Dropbox APIを使用しています。現在、キーとシークレットをJSONファイルに保存しています.Gitignoreを使用してGithubのリポジトリから外しておくことができますが、セキュリティ上の観点からはコードに含めるよりも優れています。 Pythonの保護や難読化については(商業上の理由から)多くの質問がありました。答えは常に「Pythonはそれを意味しません」です。APIキーをPythonアプリケーションにどのように格納すればよいですか?
私はコードを保護する方法を探しているのではなく、APIの詳細を開示せずにアプリを配布できるソリューションを探しています。
テキストファイルに暗号化された値として入力してください。秘密に保存された暗号化キーを作成し、必要なときに復号化します。しかし、よりよい方法があるかもしれませんが、この方法は私のために過去にうまくいきました。 –
誰かが自分のコンピュータ上でプログラムを実行し、プログラムがそのキーを使用すると、実際に開示されます。 WireSharkを起動してプログラムを接続させ、Dropbox(または他のいくつかの基準 - 最悪の場合は数百パケットを掘り下ろしている)への接続のためにキャプチャをフィルタリングするのは天才的なものではありません。 APIキーがある文字列リテラルを変更することはできないので、プログラムを難読化するだけでは何も買わず、プログラムには役に立たないでしょう。 – delnan
@delnanしかし、HTTPトラフィックではAPIキーが見えるでしょうか? DropboxはSSL上のすべてを行います。 GET変数やPOST変数を使用するのか、単にHTTP要求のヘッダーに入れるのかはわかりません。これらのものはHTTPSリクエストで暗号化されているのですか? – espekia