在批处理脚本中混淆密码

时间:2013-08-28 19:48:03

标签: security batch-file passwords cmd

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

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

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

2 个答案:

答案 0 :(得分:6)

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

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

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

这不安全!

请考虑:

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

答案 1 :(得分:2)

做类似

的事情
:main
set a=pas
set b=rd
set /p input=
if %input%==%a%swo%b% goto start
:start
<your code here>
goto main

密码是“密码”,但它有点混淆。