如何编写使用一些本地凭据的Python脚本并使其安全?

如何编写使用一些本地凭据的Python脚本并使其安全?,python,security,encryption,Python,Security,Encryption,我正在尝试编写一个Python脚本,每12小时登录一个网站 问题是它不会被托管在我的机器上,我需要确保凭据的安全。没有什么大的,只是足够安全,这样打开脚本的人就不会看到脚本中的硬编码 我应该使用已编译的Python脚本,还是有任何方法可以为脚本提供一个加密文件,该文件具有凭据,并且只有脚本可以读取它?当您要将凭据放入一个单独的模块中并使用编译工具编译它时,可以很容易地隐藏凭据。您只需要将脚本和*.so文件发送到另一台计算机 cred.pyx: def mysqlCredentials():

我正在尝试编写一个Python脚本,每12小时登录一个网站

问题是它不会被托管在我的机器上,我需要确保凭据的安全。没有什么大的,只是足够安全,这样打开脚本的人就不会看到脚本中的硬编码


我应该使用已编译的Python脚本,还是有任何方法可以为脚本提供一个加密文件,该文件具有凭据,并且只有脚本可以读取它?

当您要将凭据放入一个单独的模块中并使用编译工具编译它时,可以很容易地隐藏凭据。您只需要将脚本和*.so文件发送到另一台计算机

cred.pyx:

def mysqlCredentials():
    return {'username': 'dbAdmin', 'password': 'mySecret'}


def someApiCredentials():
    return {'username': 'apiTestUser', 'password': '1234'}
您只需要编译它,如cython教程和主脚本中所述:

import cred

print (cred.__file__)
print(cred.mysqlCredentials())
返回:

/tmp/cred.cpython-36m-x86_64-linux-gnu.so
{'username': 'dbAdmin', 'password': 'mySecret'}

这是不可能的。一个既有密钥又有密文的独立设备,根据定义,也有明文。引入一个由您控制的中介服务,该服务可以代表Python脚本发出请求。不在我的机器服务器上托管的服务器提供什么身份验证可能性?注意:隐藏的凭据在生成的程序集中以普通UTF-8编码的二进制文件显示。是,你是对的,没有中介服务就没有绝对的安全性。不过,你的解决方案可能足以对付脚本小子。