Anda punya hash. Itu adalah rangkaian karakter hex yang panjang, atau mungkin memiliki awalan yang aneh $2b$. Anda perlu mengetahui algoritme apa yang menciptakannya — untuk tantangan KKP, audit keamanan, pemulihan kata sandi, atau sekadar rasa ingin tahu.
Berikut panduan pasti untuk mengidentifikasi jenis hash apa pun berdasarkan panjang, kumpulan karakter, dan formatnya.
Apa itu Hash?
Hash adalah string dengan panjang tetap yang dihasilkan oleh fungsi matematika satu arah. Masukkan masukan apa pun — kata sandi, file, pesan — ke dalam algoritme hashing dan Anda akan mendapatkan sidik jari unik dengan ukuran tetap. Masukan yang sama selalu menghasilkan keluaran yang sama, namun Anda tidak dapat membalikkan proses untuk memulihkan masukan asli.
Fungsi hash digunakan di mana saja: menyimpan kata sandi dalam database, memverifikasi integritas file, tanda tangan digital, dan deduplikasi data.
Cara Mengidentifikasi Hash: Metode Cepat
Cara tercepat untuk mengidentifikasi hash adalah dengan hashnya jumlah karakter dan kumpulan karakter. Sebagian besar hash terdiri dari karakter heksadesimal (0–9, a–f), tetapi beberapa algoritma seperti bcrypt dan SHA-512 crypt menggunakan alfabet Base64 yang lebih luas.
Langkah 1: Hitung karakternya. Langkah 2: Catat kumpulan karakter (hanya hex, atau alfanumerik+khusus). Langkah 3: Periksa awalan (bcrypt dimulai dengan $2b$, ruang bawah tanah SHA-512 dimulai dengan $6$).
Atau cukup gunakan milik kami Alat Pengenal Hash untuk mengidentifikasinya secara otomatis.
Tabel Referensi Identifikasi Hash
| Jenis Hash | Panjang | Kumpulan Karakter | Awalan / Catatan |
|---|---|---|---|
| MD5 | 32 | Heksa (0-9, a-f) | Tanpa awalan |
| SHA-1 | 40 | Heks | Tanpa awalan |
| SHA-224 | 56 | Heks | Tanpa awalan |
| SHA-256 | 64 | Heks | Tanpa awalan |
| SHA-384 | 96 | Heks | Tanpa awalan |
| SHA-512 | 128 | Heks | Tanpa awalan |
| SHA3-256 | 64 | Heks | Tidak dapat dibedakan dari SHA-256 berdasarkan panjangnya |
| SHA3-512 | 128 | Heks | Tidak dapat dibedakan dari SHA-512 berdasarkan panjangnya |
| NTLM | 32 | Heks | Panjangnya sama dengan MD5 — konteksnya penting |
| MySQL 4.1+ | 40 | Heks | Terkadang diawali dengan * |
| bcrypt | 60 | Alfabet Base64 | Dimulai dengan $2a$, $2b$, atau $2y$ |
| Ruang Bawah Tanah SHA-512 | 106 | Alfabet Base64 | Dimulai dengan $6$ |
| Ruang Bawah Tanah SHA-256 | 63 | Alfabet Base64 | Dimulai dengan $5$ |
| Ruang Bawah Tanah MD5 | 34 | Alfabet Base64 | Dimulai dengan $1$ |
| Argon2 | Variabel | Basis64 + $ |
Dimulai dengan $argon2id$ atau $argon2i$ |
| skrip | Variabel | Basis64 + $ |
Dimulai dengan $s0$ |
| PBKDF2 | Variabel | Base64 atau Hex | Sering diawali dengan pbkdf2_sha256$ |
| LM Hash | 32 | Heks | Windows lawas — dua bagian 16 karakter |
| CRC32 | 8 | Heks | Sangat singkat — 4 byte |
| Pusaran Air | 128 | Heks | Kurang umum |
| RIPEMD-160 | 40 | Heks | Panjangnya sama dengan SHA-1 |
| Adler-32 | 8 | Heks | Checksum, bukan hash kriptografi |
Mengidentifikasi Hash Paling Umum
MD5 (32 karakter hex)
5f4dcc3b5aa765d61d8327deb882cf99
MD5 adalah hash paling umum yang akan Anda temui. 32 karakter hex huruf kecil, tanpa awalan. Ini banyak digunakan untuk penyimpanan kata sandi tetapi sekarang dianggap rusak secara kriptografis — komputasinya cepat, sehingga serangan brute force menjadi sepele.
Umum di: Aplikasi web lama, checksum file, tantangan CTF, dump kata sandi basis data.
Batasan: MD5 dan NTLM keduanya terdiri dari 32 karakter hex. Jika Anda menemukan hash 32 karakter dari sistem Windows, itu mungkin NTLM. Dari aplikasi web, kemungkinan besar MD5.
SHA-1 (40 karakter heksadesimal)
5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8
40 karakter heksa. Tidak digunakan lagi untuk sebagian besar penggunaan keamanan sejak tahun 2017 tetapi masih umum di sistem lama, komitmen Git, sertifikat SSL (warisan), dan checksum file.
Umum di: ID objek Git, sertifikat SSL lama, alat verifikasi file.
SHA-256 (64 karakter heksa)
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Standar saat ini untuk sebagian besar aplikasi. 64 karakter heksa. Digunakan dalam Bitcoin (SHA-256 ganda), tanda tangan JWT, pembungkus penyimpanan kata sandi modern, dan TLS.
Umum di: Blockchain, tanda tangan API, penyimpanan kata sandi (sering dibungkus dalam PBKDF2 atau HMAC), verifikasi integritas file.
SHA-512 (128 karakter heksa)
b109f3bbbc244eb82441917ed06d618b9008dd09b3befd1b5e07394c706a8bb980b1d7785e5976ec049b46df5f1326af5a2ea6d103fd07c95385ffab0cacbc86
128 karakter heksa. Lebih kuat tetapi lebih lambat dari SHA-256. Digunakan dalam beberapa hashing kata sandi Linux (/etc/shadow) dan aplikasi dengan keamanan tinggi.
bcrypt (60 karakter, seperti Base64)
$2b$12$EixZaYVK1fsbw1ZfbX3OXePaWxn96p36WQoeG6Lruj3vjPGga31lW
Format hash yang paling dikenal karena awalan terstrukturnya:
$2b$(atau$2a$,$2y$) — versi algoritma12— faktor biaya (faktor pekerjaan), berapa putaran- Semuanya setelahnya — gabungan garam 53 karakter + hash
bcrypt sengaja dibuat lambat. Anda tidak dapat mempercepatnya dengan GPU — itulah sebabnya ini adalah pilihan tepat untuk hashing kata sandi. Jika Anda melihat string 60 karakter yang dimulai dengan $2, itu bcrypt.
Umum di: Aplikasi PHP (password_hash()), Ruby on Rails, kerangka web paling modern.
NTLM (32 karakter heksadesimal)
b4b9b02e6f09a9bd760f388b67351e2b
Secara visual identik dengan MD5 — 32 karakter hex huruf kecil. NTLM adalah hash otentikasi warisan Windows. Jika Anda melakukan CTF atau melakukan pentesting pada sistem Windows, ini akan sering muncul.
Cara membedakan MD5 dari NTLM: Konteks. NTLM berasal dari database Windows SAM, Active Directory, atau alat seperti Mimikatz. MD5 biasanya berasal dari database aplikasi web.
Argon2 (panjang variabel, awalan terstruktur)
$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+dWRWJTmaaJObG
Pemenang Kompetisi Hashing Kata Sandi 2015. Dirancang agar tahan terhadap memori, sehingga tahan terhadap serangan berbasis GPU dan ASIC. Kerangka kerja modern (Django 4+, PHP 8.1+ asli) mengadopsi Argon2id.
Perincian awalan: $argon2id$ = varian, v=19 = versi, m=65536 = biaya memori, t=3 = biaya waktu, p=4 = paralelisme.
Cara Mengidentifikasi Hash Ketika Panjangnya Saja Tidak Cukup
Beberapa hash memiliki panjang dan rangkaian karakter yang identik:
| Tabrakan | Cara Membedakannya |
|---|---|
| MD5 vs NTLM (32 heksa) | Konteks sumber — Windows = NTLM, web DB = MD5 |
| SHA-1 vs RIPEMD-160 (40 heksa) | RIPEMD-160 jauh lebih jarang; SHA-1 adalah tebakan yang aman |
| SHA-256 vs SHA3-256 (64 heksa) | Membutuhkan metadata atau alat algoritma |
| SHA-512 vs SHA3-512 vs Pusaran Air (128 hex) | Butuh konteks atau alat hash-id |
Jika panjang saja tidak dapat menyelesaikan masalah, Anda perlu:
- Periksa sistem sumber (OS, kerangka aplikasi, database)
- Cobalah memecahkan nilai yang diketahui untuk mengonfirmasi algoritme
- Gunakan alat pengidentifikasi hash yang menguji beberapa algoritma
Menggunakan Alat Pengidentifikasi Hash
Daripada menghitung karakter secara manual, gunakan milik kita Pengidentifikasi Hash — tempelkan hash apa pun dan itu akan:
- Cocokkan panjang dan kumpulan karakter dengan semua algoritma yang diketahui
- Sorot kandidat yang paling mungkin
- Tandai format awalan (bcrypt, SHA-crypt, Argon2) secara otomatis
Hal ini sangat berguna untuk tantangan CTF ketika Anda menemukan format hash yang asing atau perlu memproses beberapa hash dengan cepat.
Skenario Dunia Nyata
Skenario 1: Anda memiliki dump database
Anda menemukan tabel pengguna dengan a password kolom berisi string 60 karakter yang dimulai dengan $2b$. Ini adalah hash bcrypt. Modern dan diterapkan dengan benar — memecahkannya membutuhkan biaya komputasi yang mahal.
Skenario 2: Tantangan CTF — Anda menemukan file hash
098f6bcd4621d373cade4e832627b4f6
32 karakter hex → MD5. Talinya test hash ke nilai ini di MD5. Serangan daftar kata yang cepat dengan hashcat atau john akan memecahkan kata sandi umum secara instan.
hashcat -m 0 -a 0 hash.txt wordlist.txt
Modus -m 0 adalah MD5. Jika itu SHA-1, gunakan -m 100. SHA-256 adalah -m 1400.
Skenario 3: Linux /etc/shadow
$6$rounds=5000$usesomesalt$IxDD3jerizQ5s/bS3FbSsO6hMGFjfSKNBWENHyJ7FXKC4XiuT3pOlLGEBpRiuJ3QGJlyXfS4uNIaVpqEcF2b.
Dimulai dengan $6$ → ruang bawah tanah SHA-512. Formatnya adalah: $id$salt$hash di mana id=6 berarti SHA-512.
| tanda pengenal | Algoritma |
|---|---|
$1$ |
ruang bawah tanah MD5 |
$5$ |
ruang bawah tanah SHA-256 |
$6$ |
ruang bawah tanah SHA-512 |
$y$ |
ya ruang bawah tanah |
$2b$ |
bcrypt |
Referensi Mode Hashcat
Jika Anda memecahkan hash (pada sistem yang diizinkan untuk Anda uji), berikut adalah mode hashcat untuk jenis yang paling umum:
| Jenis Hash | Modus Hashcat |
|---|---|
| MD5 | 0 |
| SHA-1 | 100 |
| SHA-256 | 1400 |
| SHA-512 | 1700 |
| NTLM | 1000 |
| bcrypt | 3200 |
| Ruang Bawah Tanah SHA-512 ($6$) | 1800 |
| MySQL 4.1+ | 300 |
| WPA/WPA2 | 2500 |
Lembar Cheat Identifikasi Cepat
- 8 karakter, heksa → CRC32 atau Adler-32 (checksum, bukan kripto)
- 32 karakter, heksa → MD5 atau NTLM
- 40 karakter, heksa → SHA-1 atau RIPEMD-160
- 56 karakter, heksa → SHA-224
- 64 karakter, heksa → SHA-256 atau SHA3-256
- 96 karakter, heksa → SHA-384
- 128 karakter, heksa → SHA-512, SHA3-512, atau Pusaran Air
- 60 karakter, dimulai dengan
$2→ bcrypt - Dimulai dengan
$1$→ ruang bawah tanah MD5 - Dimulai dengan
$5$→ ruang bawah tanah SHA-256 - Dimulai dengan
$6$→ ruang bawah tanah SHA-512 - Dimulai dengan
$argon2→ Argon2 - Dimulai dengan
pbkdf2_→ PBKDF2
Identifikasi Hash Anda Sekarang
Gunakan gratis kami Alat Pengenal Hash — tempelkan hash apa pun dan dapatkan identifikasi instan dengan skor keyakinan dan kemungkinan algoritme.
Alat dan panduan terkait: