Linuxでは、SHA1を使用してパスワードハッシュを生成できますsha1pass mypassword
。ハッシュを生成するための同様のコマンドラインツールはありますかsha512
?Bcrypt
のような問題ですPBKDF2
。
答え1
Red Hatディストリビューション(Fedora、CentOS、RHELなど)では、このコマンドにはmkpasswd
Debian / 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::Bcrypt
Perlモジュールを使用して非常に簡単に実行できます。
答え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
次に、ハッシュしたい単語を入力してください。