opensslがパスワードを復号化する方法

opensslがパスワードを復号化する方法

私はLinuxとPHPで暗号化と復号化を学んでいます。したがって、opensslとこれがパスワードハッシュを生成する方法について3つの質問があります。

1-linuxコマンドを使用してパスワードを生成したとします。

openssl passwd

最初の観察は、ハッシュが作成されるたびに異なることです!なぜそんなことですか?塩のせいですか?これが私の最初の質問です。

2- 2番目の質問は、このパスワードをテストすることです。このパスワードの正確性をテストし、それが正しいかどうかに関するバイナリの答えを取得したいとします。 opensslを使用してこれを行うにはどうすればよいですか?私の質問が理解できない場合、何がopenssl passwd役に立ちますか?

3 - ハッシュを使用してパスワードを暗号化し、openssl passwd毎回ランダムなソルトを追加する場合、opensslはどのようにパスワード(または他のプログラム)を復号化しますか?

ありがとうございます。

ベストアンサー1

openssl はアルゴリズムとソルトを使用してパスワードを暗号化します。塩を提供しない場合は、ランダムに選択されます。

塩は結果のハッシュに与えられます。

例えば

 openssl passwd -1 foo
 $1$pyuddMjp$3.deTnHdrVVVLoh5zkQ0B.

どこ

  • 1はプロトコルです(ここではmd5です)。
  • pyuddMjpは塩です

あなたがpasswd(例えば、foo)を知っているかどうかを確認するには、saltでpasswdオプションを使用して結果のハッシュを比較する必要があります。

  • x=バー

    openssl passwd -1 -salt pyuddMjp $x $1$pyuddMjp$kNkQHWoF8WVh7Oxvae5YX1

  • x=fooの場合

    openssl passwd -1 -salt pyuddMjp $x $1$pyuddMjp$3.deTnHdrVVVLoh5zkQ0B。

おすすめ記事