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

シャドウの SHA-512 ハッシュ化パスワードを作成するには?

解決策 1:

ここにワンライナーがあります:

python -c 'import crypt; print crypt.crypt("test", "$6$random_salt")'

Python 3.3+ には mksalt が含まれています これにより、使用がはるかに簡単 (かつ安全) になります:

python3 -c 'import crypt; print(crypt.crypt("test", crypt.mksalt(crypt.METHOD_SHA512)))'

crypt.mksalt に引数を指定しない場合 (crypt.METHOD_CRYPT を受け入れることができます 、 ...MD5SHA256 、および SHA512 )、利用可能な最強のものを使用します。

ハッシュの ID (最初の $ の後の数字) ) は、使用される方法に関連しています:

  • 1 -> MD5
  • 2a -> Blowfish (メインラインの glibc にはありません。一部の Linux ディストリビューションでは追加されています)
  • 5 -> SHA-256 (glibc 2.7 以降)
  • 6 -> SHA-512 (glibc 2.7 以降)

ソルトとは何かなどを調べることをお勧めします。smallclamgers によると、暗号化とハッシュの違いについてコメントしています。

更新 1:生成された文字列は、シャドウ スクリプトとキックスタート スクリプトに適しています。
更新 2:警告 . Mac を使用している場合は、期待どおりに動作しないように見える Mac 上の Python でこれを使用することに関するコメントを参照してください。

macOS では、すべきではありません Python はシステムのバージョン crypt() を使用するため、上記のバージョンを使用してください。 これは同じように動作せず、安全でない DES 暗号化を使用します。このプラットフォームに依存しないワンライナーを使用できます (passlib が必要 – pip3 install passlib でインストール) ):

python3 -c 'import passlib.hash; print(passlib.hash.sha512_crypt.hash("test"))'

解決策 2:

Debian では mkpasswd を使用できます /etc/shadow に適したさまざまなハッシュ アルゴリズムでパスワードを作成します。パッケージwhoisに含まれています(apt-fileによる)

mkpasswd -m sha-512
mkpasswd -m md5

利用可能なハッシュアルゴリズムのリストを取得するには:

mkpasswd -m help 

HTH

解決策 3:

ベストアンサー:grub-crypt

Usage: grub-crypt [OPTION]...
Encrypt a password.

-h, --helpPrint this message and exit
-v, --version           Print the version information and exit
--md5                   Use MD5 to encrypt the password
--sha-256               Use SHA-256 to encrypt the password
**--sha-512             Use SHA-512 to encrypt the password (default)**

解決策 4:

以下は、さまざまな Unix タイプの OS で SHA-512 パスワードを生成するための短い C コードです。

ファイル:passwd-sha512.c

#define _XOPEN_SOURCE
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
  if ( argc < 3 || (int) strlen(argv[2]) > 16 ) {
    printf("usage: %s password salt\n", argv[0]);
    printf("--salt must not larger than 16 characters\n");
    return;
  }

  char salt[21];
  sprintf(salt, "$6$%s$", argv[2]);

  printf("%s\n", crypt((char*) argv[1], (char*) salt));
  return;
}

コンパイルする:

/usr/bin/gcc -lcrypt -o passwd-sha512 passwd-sha512.c

使い方:

passwd-sha512 <password> <salt (16 chars max)>

解決策 5:

パール SHA-512 ハッシュ化パスワードを生成するワンライナー ソリューション:

perl -le 'print crypt "desiredPassword", "\$6\$customSalt\$"'

RHEL 6 に取り組みました


Linux
  1. Linuxでパスワードで保護されたZIPファイルを作成する方法

  2. sudoにパスワードを長く覚えさせる方法

  3. OpenStack用のWindowsイメージを作成する方法

  1. Linuxですべてのユーザーの共有ディレクトリを作成する方法

  2. コマンドラインでSha512パスワードハッシュを作成するにはどうすればよいですか?

  3. 強力なパスワードを作成する方法

  1. Linuxユーザーアカウントを手動で作成する方法

  2. 反復回数を変更できるForループを作成するにはどうすればよいですか?

  3. 複数のウィンドウのパスワードを入力する方法は?