コマンドラインからSHA512パスワードハッシュを生成する方法

コマンドラインからSHA512パスワードハッシュを生成する方法

Linuxでは、SHA1を使用してパスワードハッシュを生成できますsha1pass mypassword。ハッシュを生成するための同様のコマンドラインツールはありますかsha512Bcryptのような問題ですPBKDF2

答え1

Red Hatディストリビューション(Fedora、CentOS、RHELなど)では、このコマンドにはmkpasswdDebian / Ubuntuのバージョンに通常含まれているものと同じスイッチセットは含まれていません。

メモ:このコマンドはmkpasswd実際にはパッケージの一部なのでexpect避けてください。これらのコマンドのいずれかを使用して、そのパッケージが属するパッケージを見つけることができます。

$ yum whatprovides "*/mkpasswd"
-or-
$ repoquery -q --file */mkpasswd

はい

$ repoquery -q --file */mkpasswd
expect-0:5.43.0-8.el5.x86_64
expect-0:5.43.0-8.el5.i386

rpmパッケージを見つけるためにパッケージをインストールする必要はないので、両方の方法を使用することをお勧めします*/mkpasswd

解決策

この問題を解決するには、次のPythonまたはPerlステートメントを使用してSHA-512パスワードを生成できます。次は塩漬けです。

Python(>= 3.3)

$ python -c 'import crypt,getpass; print(crypt.crypt(getpass.getpass(), crypt.mksalt(crypt.METHOD_SHA512)))'

-またはスクリプト-

$ python -c 'import crypt; print(crypt.crypt("somesecret", crypt.mksalt(crypt.METHOD_SHA512)))'

Python(2.xまたは3.x)

$ python -c "import crypt, getpass, pwd; \
             print(crypt.crypt('password', '\$6\$saltsalt\$'))"

$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/

注:$ 6 $はsha512を表します。アルゴリズムを指定するこの方法のサポートは、オペレーティングシステムレベルのcrypt(3)ライブラリ関数(通常はlibcryptにあります)のサポートによって異なります。 Pythonのバージョンに依存しません。

真珠

$ perl -e 'print crypt("password","\$6\$saltsalt\$") . "\n"'
$6$saltsalt$qFmFH.bQmmtXzyBY0s9v7Oicd2z4XSIecDzlB5KiA2/jctKu9YterLp8wwnSq.qc.eoxqOmSuNp2xS0ktL3nh/

この例では、パスワードは「password」文字列で、ソルトは「saltsalt」です。両方の例を使用$6$これは、暗号化でSHA-512を使用することを意味します。

答え2

はい、あなたはそれを探していますmkpasswd。それは(少なくともDebianでは)パッケージの一部ですwhois。理由は尋ねないでください...

anthony@Zia:~$ mkpasswd -m help
Available methods:
des     standard 56 bit DES-based crypt(3)
md5     MD5
sha-256 SHA-256
sha-512 SHA-512

残念ながら、私のバージョンは少なくともbcryptをサポートしていません。 Cライブラリがこれを行う場合は、これを行う必要があります(マンページは強度を設定するための-Rオプションを提供します)。 -Rはsha-512でも動作しますが、PBKDF-2であるかどうかはわかりません。

bcryptパスワードを生成する必要がある場合は、Crypt::Eksblowfish::BcryptPerlモジュールを使用して非常に簡単に実行できます。

答え3

OpenSSLは

openssl passwd -6

ヘルプは次のように言います。

$ openssl passwd --help
Usage: passwd [options]
Valid options are:
...
 -6                  SHA512-based password algorithm

一貫した出力を得るには、ソルトを指定できます。

openssl passwd -6 -salt <YOUR_SALT>

出力は次のようになります。

$6$YOUR_SALT$q/oDR4twC1ik4RoxTJJtX.3MjenHVapkMaBbq2NcRHGQjqhIWRNcEVitYZhyIx98D7lF7qs0vLTq17X0nEr8I.

含める:6アルゴリズムを表す "$"(上記の "-6")、合計YOUR_SALT"$"、最後に SHA512 合計の間。

答え4

次のコマンドを実行します。

$ /sbin/grub-crypt --sha-512

次に、ハッシュしたい単語を入力してください。

関連情報