Cara menggunakan
- Masukkan teks, atur Masukan sebagai ke Hex untuk byte hex, atau klik Buka file.
- SHA-1 sudah dipilih; ubah pilihan di Algoritma jika Anda ingin membandingkannya dengan fungsi hash lain.
- Pada Keluaran sebagai, pilih hex (huruf kecil) seperti yang ditampilkan sha1sum dan Git, HEX (huruf besar), atau Base64.
- Tempel SHA-1 yang diharapkan ke kolom Bandingkan dengan; halaman akan menampilkan Cocok atau Tidak cocok.
Apa itu SHA-1?
SHA-1 (Secure Hash Algorithm 1) dirancang oleh NSA dan dipublikasikan oleh NIST pada 1995 sebagai FIPS 180-1, menggantikan SHA-0 yang hanya berumur pendek. Kini SHA-1 dispesifikasikan dalam FIPS 180-4, dan RFC 3174 menjelaskannya beserta contoh kode C. SHA-1 memproses blok 512 bit dalam 80 putaran dan menghasilkan digest 160 bit: 40 karakter hex atau 28 karakter Base64.
Seperti hash lainnya, SHA-1 bersifat satu arah. Digest tidak dapat didekripsi, hanya dapat dicocokkan dengan meng-hash tebakan. Dengan cara itulah hash kata sandi SHA-1 tanpa salt yang bocor dari LinkedIn pada 2012 dibobol secara massal; kata sandi seharusnya disimpan dengan Argon2, scrypt, bcrypt, atau PBKDF2.
SHAttered: mengapa SHA-1 dinyatakan usang
Pada Februari 2017, peneliti dari CWI Amsterdam dan Google memublikasikan SHAttered, tabrakan (collision) SHA-1 nyata yang pertama: dua file PDF berbeda dengan hash yang sama, yang ditemukan dengan sekitar 2^63 komputasi SHA-1. Pada 2020, Gaëtan Leurent dan Thomas Peyrin ("SHA-1 is a Shambles") memakai tabrakan chosen-prefix untuk mendemonstrasikan pemalsuan tanda tangan SHA-1 pada kunci PGP, dengan biaya yang terjangkau bagi penyerang bermodal besar.
- CA publik berhenti menerbitkan sertifikat TLS SHA-1 pada 2016, dan browser berhenti memercayainya pada awal 2017.
- NIST melarang SHA-1 untuk tanda tangan digital baru sejak 2013 dan berencana menghentikan penggunaannya sepenuhnya paling lambat akhir 2030.
- Sebagian besar repositori Git masih mengidentifikasi objek dengan SHA-1, yang dihitung dengan implementasi yang diperkuat untuk mendeteksi upaya tabrakan; Git juga dapat membuat repositori yang memakai SHA-256.
Tabrakan tidak membobol HMAC, sehingga HMAC-SHA1 masih dipakai dalam kode TOTP dan tanda tangan webhook lama; hitung dengan Generator HMAC. Untuk keperluan baru, pilih SHA-256.
ID objek Git, Base64, dan pengodean teks
ID blob Git bukan SHA-1 dari file itu saja. Git meng-hash sebuah header yang terdiri dari blob, spasi, ukuran dalam byte, dan satu byte nol, lalu diikuti isi file. Untuk mereproduksinya di sini, atur Masukan sebagai ke Hex dan sertakan byte header tersebut: untuk hello ditambah baris baru, masukan hex-nya adalah 626c6f6220360068656c6c6f0a.
$ printf 'hello\n' | sha1sum
f572d396fae9206628714fb2ce00f72e94f2258f -
$ printf 'hello\n' | git hash-object --stdin
ce013625030ba8dba906f756967f9e9ca394464a
SHA-1 biasanya ditampilkan sebagai hex huruf kecil. Base64 muncul dalam handshake WebSocket, tempat Sec-WebSocket-Accept berisi Base64 dari SHA-1 kunci klien yang digabung dengan GUID tetap, serta dalam nilai kata sandi LDAP {SHA}. Ingat bahwa hash dihitung atas byte: teks dengan huruf beraksen memiliki satu SHA-1 dalam UTF-8 dan SHA-1 lain dalam Windows-1252.
SHA-1 di baris perintah dan dalam kode
sha1sum file.zip # Linux
shasum file.zip # macOS (default-nya SHA-1)
certutil -hashfile file.zip SHA1 # Windows
Get-FileHash file.zip -Algorithm SHA1 # PowerShell
# Python
hashlib.sha1(data).hexdigest()
// Node.js
crypto.createHash('sha1').update(data).digest('hex')
Halaman ini menghitung SHA-1 dengan Web Crypto API bawaan browser Anda, sehingga masukan tidak pernah meninggalkan perangkat Anda. Tabel Semua algoritma menampilkan nilai MD5, SHA-256, SHA-384, SHA-512, dan CRC dari masukan yang sama.
Contoh
| Masukan (UTF-8) | SHA-1 |
|---|---|
Hello, World! | 0a0a9f2a6772942557ab5355d76af442f8f65e01 |
Base64.is | 6c667ee2efd2020349eed40efa07c26683f613c8 |
你好 | 440ee0853ad1e99f962b63e459ef992d7c211722 |
Pertanyaan yang sering diajukan
Apakah SHA-1 masih aman digunakan?
Tidak, jika penyerang dapat memilih atau memengaruhi masukan, seperti pada tanda tangan dan sertifikat, karena tabrakan SHA-1 dapat dibuat. SHA-1 masih dapat mendeteksi kerusakan yang tidak disengaja, dan HMAC-SHA1 tidak terpengaruh oleh tabrakan. Untuk pekerjaan baru, gunakan SHA-256 atau SHA-512.
Bisakah hash SHA-1 dibalik?
Tidak. Tidak ada kunci dan tidak ada dekripsi. Situs pencarian hash hanya menemukan masukan yang sudah ada di tabel mereka yang berisi kata-kata umum dan kata sandi bocor. Itulah sebabnya masukan acak yang panjang aman dari situs semacam itu, sedangkan kata sandi pendek tidak.
Berapa panjang hash SHA-1?
=. RIPEMD-160 memiliki panjang yang sama, dan hash kata sandi MySQL 4.1+ berupa tanda bintang yang diikuti 40 karakter hex. Pengidentifikasi Hash menampilkan kemungkinan algoritma untuk string tertentu.Bagaimana cara memeriksa file terhadap SHA-1 yang dipublikasikan?
Klik Buka file untuk memuat file, lalu tempel nilai yang dipublikasikan ke kolom Bandingkan dengan. Hex huruf besar maupun huruf kecil dan Base64 semuanya diterima, dan halaman akan menampilkan Cocok atau Tidak cocok.
Apa perbedaan SHA-1 dan SHA-256?
Keduanya dipublikasikan oleh NIST, tetapi SHA-256 termasuk keluarga SHA-2 yang lebih baru, memiliki keluaran 256 bit, dan belum memiliki serangan praktis yang diketahui. Keluaran SHA-1 lebih pendek dan ketahanannya terhadap tabrakan sudah dipatahkan.