在我的情况下,我正在使用Dropbox API。目前我正在将密钥和密钥存储在JSON文件中,这样我就可以将其保存在Github存储库之外,但是从安全的角度来看,这并不比在代码中使用它更好。关于保护/混淆Python之前有很多问题(通常是出于商业原因),答案总是“不要,Python不是那个意思。”
因此,我不是在寻找一种保护代码的方法,而只是一种解决方案,可以让我分发我的应用而不会泄露我的API细节。
答案 0 :(得分:2)
纯文字。如果代码被分发,任何混淆尝试都是徒劳的。
答案 1 :(得分:2)
在您的情况下,不知道这是否可行。但您可以通过托管的代理访问API。
来自Python APP的请求转到代理,代理向Dropbox API发出请求并将响应返回给Python应用程序。这样,您的api密钥将位于您托管的代理服务器上。可以通过您喜欢的任何方式控制对代理的访问。 (例如用户名和密码)
答案 2 :(得分:1)
根据您的情况,有两种方式:
如果您正在为最终用户开发Web应用程序,只需以您的API密钥不会泄露的方式托管它。因此,将其保存在单独的文件中并仅将其上传到您的服务器应该没问题(只要没有违反您的服务器)。任何混淆都不会增加任何实际好处,只会给人一种虚假的安全感。
如果您正在为开发人员或最终用户的客户端应用程序开发框架/库,请让他们自己生成API密钥。