解決策 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
を受け入れることができます 、 ...MD5
、 SHA256
、および 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 に取り組みました