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

时间:2017-07-20 07:08:41

标签: python security encryption

我试图编写一个每12小时登录一个网站的Python脚本。

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

我是否应该使用已编译的Python脚本,或者有没有办法为脚本提供具有凭据的加密文件,只有脚本可以读取它?

1 个答案:

答案 0 :(得分:0)

当您要将凭据带入单独的模块并使用cython进行编译时,您可以轻松隐藏凭据。您只需将脚本和* .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'}