在批处理脚本中混淆密码

tnw*_*tnw 3 security passwords cmd batch-file

我有一个带有密码的批处理脚本作为命令的一部分,需要凭据我不想提示凭据.我并不担心外部威胁,但我真的不想让同事去那里看密码.虽然我相信他们不要滥用它,但我宁愿根本没有它.

通过在文本文件中存储安全字符串,我可以非常轻松地使用PowerShell.非常基本,但至少没有明文密码.这就是我真正需要的.

如何在批处理脚本中对密码进行模糊处理?

mar*_*pet 6

您还可以在备用数据流中隐藏密码:

首先,将有些保密的密码添加到脚本的备用数据流中:

echo somewhatsecretpassword>script.bat:pwd
Run Code Online (Sandbox Code Playgroud)

以下是如何将密码检索到变量中%p%:

for /f "usebackq delims=" %i in (script.bat:pwd) do set p=%i
Run Code Online (Sandbox Code Playgroud)

在批处理文件中,您可以使用以下内容:

for /f "usebackq delims=" %%i in (%~0:pwd) do set p=%%i
Run Code Online (Sandbox Code Playgroud)

这不安全!

请考虑:

  • 这不安全!
  • 替代数据流不会被复制到处(FAT)
  • 包含特殊字符的密码可能需要进行转义才能正确写入流
  • ......这不安全