我有一个带有密码的批处理脚本,作为命令的一部分,该命令需要我不想提示输入凭据的凭据。我不担心外部威胁,但我真的不希望同事进去看到那个密码。虽然我相信他们不会滥用它,但我宁愿根本没有它。
只需将安全字符串存储在文本文件中,我就可以使用 PowerShell 轻松完成此操作。非常基本,但至少周围没有纯文本密码。这就是我真正需要的。
如何在批处理脚本中混淆密码?
我有一个带有密码的批处理脚本,作为命令的一部分,该命令需要我不想提示输入凭据的凭据。我不担心外部威胁,但我真的不希望同事进去看到那个密码。虽然我相信他们不会滥用它,但我宁愿根本没有它。
只需将安全字符串存储在文本文件中,我就可以使用 PowerShell 轻松完成此操作。非常基本,但至少周围没有纯文本密码。这就是我真正需要的。
如何在批处理脚本中混淆密码?
您还可以在备用数据流中隐藏密码:
首先,将有点秘密的密码添加到脚本的备用数据流中:
echo somewhatsecretpassword>script.bat:pwd
以下是如何将密码检索到变量中%p%
:
for /f "usebackq delims=" %i in (script.bat:pwd) do set p=%i
从批处理文件本身中,您可以使用以下内容:
for /f "usebackq delims=" %%i in (%~0:pwd) do set p=%%i
这不安全!
请考虑:
另一种选择可能是混淆“密码”,这根本不安全,但在某些情况下可能就足够了
:main
set a=pas
set b=rd
set /p input=
if %input%==%a%swo%b% goto start
:start
<your code here>
goto main
密码是“密码”,但有点混淆。