Di Linux saya bisa membuat hash kata sandi SHA1 menggunakan sha1pass mypassword
. Apakah ada alat baris perintah serupa yang memungkinkan saya membuat sha512
hash? Pertanyaan yang sama untuk Bcrypt
dan PBKDF2
.
security
password
encryption
hashsum
siswa
sumber
sumber
sha1sum
?sha1pass
perintah, bagian dari paket syslinux-common di Debian.sha512sum
perintah yang merupakan bagian dari coreutils, dan jugaopenssl sha512
- tetapi tidak ada hal-hal tambahan yangsha1pass
melakukannya.Jawaban:
Ya, Anda sedang mencari
mkpasswd
, yang (setidaknya di Debian) adalah bagian dariwhois
paket. Jangan tanya kenapa ...Sayangnya, versi saya setidaknya tidak melakukan bcrypt. Jika pustaka C Anda melakukannya, itu harus (dan halaman manual memberikan opsi -R untuk mengatur kekuatan). -R juga bekerja pada sha-512, tapi saya tidak yakin apakah ini PBKDF-2 atau tidak.
Jika Anda perlu membuat kata sandi bcrypt, Anda dapat melakukannya dengan cukup sederhana dengan
Crypt::Eksblowfish::Bcrypt
modul Perl.sumber
Pada salah satu distro Red Hat seperti Fedora, CentOS, atau RHEL perintah
mkpasswd
tidak menyertakan set switch yang sama seperti versi yang biasanya disertakan dengan Debian / Ubuntu.CATATAN: Perintah
mkpasswd
ini sebenarnya bagian dariexpect
paket, dan mungkin harus dihindari. Anda dapat mengetahui paket miliknya dengan salah satu dari perintah ini.Contoh
Kedua metode ini lebih unggul daripada menggunakan
rpm
karena paket tidak harus diinstal untuk mencari*/mkpasswd
.Penanganan masalah
Untuk mengatasinya, Anda dapat menggunakan Python atau Perl one-liners berikut untuk menghasilkan kata sandi SHA-512. Perhatikan bahwa ini asin:
Python (> = 3.3)
-atau dituliskan-
Python (2.x atau 3.x)
Catatan: $ 6 $ menunjuk sha512. Dukungan untuk metode ini menentukan algoritma tergantung pada dukungan dalam fungsi perpustakaan crypt (3) tingkat OS (biasanya dalam libcrypt). Itu tidak tergantung pada versi python.
Perl
Dalam contoh-contoh ini kata sandi adalah string "kata sandi" dan garamnya adalah "saltsalt". Kedua contoh menggunakan $ 6 $ yang menunjukkan bahwa Anda ingin crypt menggunakan SHA-512.
sumber
crypt.mksalt(crypt.METHOD_SHA512)
untuk menghasilkan garam alih-alih menggunakan yang sudah diperbaiki.crypt.mksalt
hanya tersedia dalam Python 3.xcrypt.mksalt
pada CentOS 7.1Anda dapat menggunakan
doveadm
utilitas, yang termasuk dalamdovecot
paket.Contoh hasil:
Cukup potong {SHA512-CRYPT} dan Anda akan mendapatkan string hash SHA512 Anda.
sumber
doveadm(jotik): Fatal: Error reading configuration: stat(/etc/dovecot/dovecot.conf) failed: Permission denied (euid=1000(jotik) egid=100(users) missing +x perm: /etc/dovecot, we're not in group 97(dovecot), dir owned by 0:97 mode=0750)
Jalankan perintah ini:
lalu masukkan kata hash yang kamu inginkan.
sumber
Untuk memperluas pemecahan masalah @ slm di atas, jika Anda khawatir seseorang mengetahui riwayat bash Anda dan melihat kata sandi teks biasa, Anda bisa memasukkan
raw_input()
pernyataan python di mana bidang garam dan kata sandi pergi sehingga meminta Anda untuk mendapatkannya. Teks tidak tertutup saat Anda mengetik, tetapi tidak akan muncul di bash history Anda. Anda juga bisa memulai perintah dengan spasi terdepan, tetapi saya selalu lupa melakukannya.sumber
bash
untuk tidak merekam perintah yang diawali dengan spasi yang ditambahkanHISTCONTROL=ignorespace
ke.bashrc
file Anda . Saat Anda menjalankan perintah yang ingin Anda kecualikan dari riwayat Anda cukup ketik spasi lalu perintah yang sebenarnya.sha512 htpasswd
Perintah yang meminta pengguna dan kata sandi dan menghasilkan file htpasswd biasa:
Bekerja dengan semua versi python> 2.5.
sumber
OpenSSL memiliki
Bantuan mengatakan:
sumber
Jika Anda menggunakan metode Python (> = 2.7) dari jawaban sim dan ingin mengonfirmasi kata sandi Anda sebelum membuatnya - karena kata sandi Anda gemuk, ...
sumber
openssl versi "OpenSSL 1.1.1" di Linux dan versi openssl "LibreSSL 2.6.5" di MacOS mendukung md5_crypt.
Jalankan dan masukkan kata sandi:
atau berikan kata sandi teks polos langsung ke CLI:
sumber
Anda bisa menggunakan
sha512sum
:sumber