隐藏开源应用程序中使用的API密钥

Mic*_*rry 2 java obfuscation open-source api-key

我目前正在开发基于第三方Web API的桌面应用程序,并已注册其程序并获得了两个访问密钥作为回报.

但是,如果将这些键作为字符串粘贴到源代码中,那么任何人都可以撤回repo的内容并非常简单地找到它们.

到目前为止,我对如何防止这种情况的最好想法是将它们分别编译成类文件,对其进行模糊处理,然后使用它,这样它们至少不会在源文本中以纯文本形式出现.但是,我缺少一种更好,更被接受或常用的方式吗?我不是完全和完全的安全性,但至少想要提取密钥一样困难,因为我可以合理地给出一个开源环境.

sko*_*koy 9

您可能希望将访问密钥作为源代码中的单独文件插入,这样您就可以避免将其推送到公共存储库(或者将实际密钥删除,以便有人想要使用您的应用程序需要插入在他们自己的钥匙).这样一切都是开源的,除了你的私钥本身.

TL; DR:真正避免发布密钥的唯一方法就是不要让它们成为公共源代码库的一部分.其他任何东西都意味着他们可以被其他人轻易提取出来.