【发布时间】:2016-10-10 00:36:57
【问题描述】:
我正在编写一个 Python 程序,它使用 API 密钥从外部服务访问数据。该程序使用我的 Python 脚本中硬编码的密钥调用此服务。是否有某种方法可以在一定程度上保护此密钥(不是不可逆的方法,而是一种防止人们直接从脚本中复制密钥的方法)?程序是否应该从我的服务器请求密钥?也许是 C 库?
【问题讨论】:
-
这个脚本是如何分发的,你想保护密钥免受谁的攻击?
-
@deceze 分布尚待评估。我想要的只是防止人们直接从变量中复制密钥。
-
您将必须使用此密钥发出 API 请求,对吗?而这一切都在用户的本地计算机上运行,他们可以完全控制。计算机所有者可以在很多点处截获密钥。毕竟它存储在他们面前某处的计算机内存中......充其量你只能阻止最不合格的脚本小子。如果这真的需要是安全的,你需要重新考虑你的方法。
-
@deceze 保护最不合格的脚本小子是我希望实现的目标
-
然后只是混淆它。取一个包含变量中的键的文件,使用一些 Python 混淆器,它以自评估 base64 编码或类似的废话递归地打包代码,然后就可以了。
标签: python security obfuscation api-key