Generator Hash SHA-1

Dapatkan digest SHA-1 160 bit dari teks, byte hex, atau file sambil Anda mengetik. Periksa hasilnya terhadap checksum yang dipublikasikan dan lihat sekilas SHA-256, SHA-512, serta MD5 dari masukan yang sama.

Semua algoritma

Berjalan sepenuhnya di browser Anda. Tidak ada yang diunggah.

Cara menggunakan

  1. Masukkan teks, atur Masukan sebagai ke Hex untuk byte hex, atau klik Buka file.
  2. SHA-1 sudah dipilih; ubah pilihan di Algoritma jika Anda ingin membandingkannya dengan fungsi hash lain.
  3. Pada Keluaran sebagai, pilih hex (huruf kecil) seperti yang ditampilkan sha1sum dan Git, HEX (huruf besar), atau Base64.
  4. 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.is6c667ee2efd2020349eed40efa07c26683f613c8
你好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?
160 bit atau 20 byte: 40 karakter hex atau 28 karakter Base64 yang diakhiri satu =. 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.