GNU/Linux >> Linux の 問題 >  >> Linux

パスワードのハッシュに使用されるハッシュアルゴリズムを見つける方法は?

有効なパスワードを持っていて、ハッシュ(/ etc / passwd)を見ることができます。一致するものが見つかるまで別のアルゴリズムを手動で試すことなく、パスワードのハッシュに使用されるハッシュアルゴリズムを見つけるにはどうすればよいですか?

承認された回答:

これはcrypt(3)に記載されています のマンページ。経由で見つけることができます。 shadow(5) のマンページ、またはpasswd(5) の。これらのリンクは、最新のLinuxベースのシステムに適しています。そこにある説明:

の場合 は、「$ id」という文字で始まる文字列です。 $”
の後に、オプションで“ $”で終了する文字列が続く場合、結果は
次の形式になります。

$id$salt$encrypted

id DESの代わりに使用される暗号化方式を識別し、これにより
パスワード文字列の残りの部分がどのように解釈されるかが決まります。
次のidの値がサポートされています:

ID  | Method
─────────────────────────────────────────────────────────
1   | MD5
2a  | Blowfish (not in mainline glibc; added in some
    | Linux distributions)
5   | SHA-256 (since glibc 2.7)
6   | SHA-512 (since glibc 2.7)

bcryptとしても知られるBlowfish 、プレフィックス2でも識別されます 、2b2x 、および2y (PassLibのドキュメントを参照してください。)

したがって、ハッシュされたパスワードが上記の形式で保存されている場合は、 idを確認することで使用されているアルゴリズムを見つけることができます。;それ以外の場合はcrypt のデフォルトのDESアルゴリズム(13文字のハッシュを使用)、または「大きな」crypt のDES(128文字のパスワードをサポートするように拡張され、最大178文字の長さのハッシュを含む)、またはBSDI拡張DES(_を使用) プレフィックスの後に19文字のハッシュが続きます。

一部のディストリビューションでは、libxcryptを使用して、さらに多くのメソッドをサポートおよび文書化しています。

  • y :yescrypt
  • gy :gost-yescrypt
  • 7 :scrypt
  • sha1 :sha1crypt
  • md5 :SunMD5

他のプラットフォームは他のアルゴリズムをサポートしているため、cryptを確認してください そこにマンページ。たとえば、OpenBSDのcrypt(3) idを使用して識別するBlowfishのみをサポートします 「2b」。


Linux
  1. 11.10でシャドウに保存されたパスワードに使用されるハッシュアルゴリズムは何ですか?

  2. C で実行可能ファイルの場所を見つけるにはどうすればよいですか?

  3. 最大スタック サイズを確認するにはどうすればよいですか?

  1. LinuxでディスクがSSDかHDDかを確認する方法

  2. デフォルトのファイルマネージャを見つける方法は?

  3. ファイルシステムの UUID を見つける方法

  1. findコマンドを使用して権限を監査する方法

  2. Linux:デバイスに使用されているデバイスドライバーを見つける方法は?

  3. Linux の find コマンドを使用してファイルを検索する方法