在python脚本中加密密码

0 python encryption

我有一个python脚本,我使用用户名和密码来使用rest api在服务器上执行操作(获取/删除).

我想加密脚本中使用的密码,以便打开脚本的人将无法看到明文密码.

req = requests.delete(url, stream=True, headers=headers, verify=False,
                      auth=('Administrator','password'))
Run Code Online (Sandbox Code Playgroud)

第二个问题是,如果我为xor加密用于临时目的,如下所示

passwd = base64.b64decode("cGFzc3dvcmQ=")

req = requests.delete(url, stream=True, headers=headers, verify=False,
                      auth=('Administrator',passwd))
Run Code Online (Sandbox Code Playgroud)

passwd不能在auth()函数内部作为变量工作.

Mad*_*ist 6

如果您最大的风险是打开脚本的人,请不要将密码存储在脚本中.无论您使用何种算法来解密存储在脚本中的加密密码,未经授权的用户都可以通过打开脚本来解决并应用它.

此时你有几个选择

  1. 将密码存储在具有相应权限的文件中,以便组外的任何人都无法打开密码.此时您可能不需要加密密码,因为读取您的脚本的任何人都会立即知道如何解密它.
  2. 使用该getpass.getpass功能只允许授权用户在提示符下输入密码.这样,您就不必将它存储在任何地方.这不能直接在非交互式脚本中使用,但您可以将Python脚本包装在管道密码的另一个脚本中.使用正确的权限,这大致相当于选项#1.