Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何编写在内部使用密码的公共Python脚本_Python_Security_Passwords - Fatal编程技术网

如何编写在内部使用密码的公共Python脚本

如何编写在内部使用密码的公共Python脚本,python,security,passwords,Python,Security,Passwords,我有一个Python脚本,可以访问web服务的API。为了访问此API,它使用一些密码。目前,它们在Python脚本中存储为纯文本字符串。我想让其他人可以执行此脚本的操作,但其他人应该看不到密码。他们应该只能够执行脚本,并在执行时向脚本传递一些参数 我的第一个非常基本的尝试是编译脚本: python -m py_compile test.py 此时,脚本的编译版本可以通过以下方式执行: python test.pyc 下一步我该怎么做才能让它更安全?给每个用户一个密码,因为无法100%隐藏密

我有一个Python脚本,可以访问web服务的API。为了访问此API,它使用一些密码。目前,它们在Python脚本中存储为纯文本字符串。我想让其他人可以执行此脚本的操作,但其他人应该看不到密码。他们应该只能够执行脚本,并在执行时向脚本传递一些参数

我的第一个非常基本的尝试是编译脚本:

python -m py_compile test.py
此时,脚本的编译版本可以通过以下方式执行:

python test.pyc

下一步我该怎么做才能让它更安全?

给每个用户一个密码,因为无法100%隐藏密码。谢谢您的评论。这当然是另一个特性,但我所说的是内部使用的API密码,而不是基于每个用户。我知道安全性不太可能是完美的,但我想知道是否有比我目前使用的简单方法更好的方法。你可以使用加密(例如,不要将密码保持为纯文本,而是将其保持base64编码并从代码中解码)但是描述机制将在您的代码中,因此对其进行反向工程并不困难。您还可以使用工具来混淆代码。确保服务器是https,否则密码将以明文形式发送,任何嗅探包的人都可以看到它。你真的不能做太多。需要脚本用户提供自己的API密钥吗?编写脚本时,不要使用密码直接访问API,而是实际与代理(使用你想要的任何安全性)对话,该代理与真正的API对话。在相关说明中,您可能需要考虑接收服务的密码的条件。