我有一个批处理脚本,其中包含一个密码,作为需要凭据的命令的一部分,我不想提示输入凭据。我并不担心外部威胁,但我并不是真的想要一个同事在那里看到密码。虽然我相信他们不要滥用它,但我宁愿不要在那里使用它。在批处理脚本中混淆密码
通过在文本文件中存储安全字符串,我可以非常容易地使用PowerShell进行此操作。很基本,但至少没有纯文字密码。这就是我真正需要的。
如何在批处理脚本中混淆密码?
我有一个批处理脚本,其中包含一个密码,作为需要凭据的命令的一部分,我不想提示输入凭据。我并不担心外部威胁,但我并不是真的想要一个同事在那里看到密码。虽然我相信他们不要滥用它,但我宁愿不要在那里使用它。在批处理脚本中混淆密码
通过在文本文件中存储安全字符串,我可以非常容易地使用PowerShell进行此操作。很基本,但至少没有纯文字密码。这就是我真正需要的。
如何在批处理脚本中混淆密码?
您也可以隐藏在备用数据流密码:
首先,添加了几分秘密口令到脚本的备用数据流:
echo somewhatsecretpassword>script.bat:pwd
这里是如何检索进入变量的密码%p%
:
for /f "usebackq delims=" %i in (script.bat:pwd) do set p=%i
从批处理文件本身你可以y使用类似于:
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
密码是“密码”,但它是一个有点混淆。
如果没有第三方工具批量处理,您无法有效隐藏密码。 – Endoro
您可以尝试使用'certutil'将其编码为十六进制或base64(或两者) - > http://ss64.com/nt/certutil.html。这是现在最容易理解的东西。 – npocmaka
@npocmaka这可以工作,我甚至不需要加密它......只是任何不是纯文本的东西。 – tnw