7

資格情報の入力を求めたくない資格情報を必要とするコマンドの一部として、パスワードを含むバッチ スクリプトがあります。外部の脅威については心配していませんが、同僚がそこに行ってそのパスワードを見られることを本当に望んでいません. 私は彼らがそれを悪用しないと信じていますが、私はむしろそこに持っていたくない.

安全な文字列をテキスト ファイルに格納するだけで、PowerShell を使用してこれを非常に簡単に行うことができました。かなり基本的ですが、少なくともプレーンテキストのパスワードはありません。本当に必要なのはそれだけです。

バッチ スクリプトでパスワードを難読化するにはどうすればよいですか?

4

2 に答える 2

7

別のデータ ストリームでパスワードを非表示にすることもできます。

まず、スクリプトの別のデータ ストリームに秘密のパスワードを追加します。

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)
  • 特殊文字を含むパスワードは、ストリームに正しく書き込まれるようにエスケープする必要がある場合があります
  • ...安全ではありません
于 2013-08-28T21:54:05.947 に答える
1

別のオプションは、「パスワード」を難読化することです。これはまったく安全ではありませんが、特定の状況では十分な場合があります

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

パスワードは「password」ですが、少し難読化されています。

于 2016-06-24T11:37:13.980 に答える