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)

Perintah
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)

Perintah
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)

Perintah
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)

Perintah
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)

Perintah
$2b$12$EixZaYVK1fsbw1ZfbX3OXePaWxn96p36WQoeG6Lruj3vjPGga31lW

Format hash yang paling dikenal karena awalan terstrukturnya:

  • $2b$ (atau $2a$, $2y$) — versi algoritma
  • 12 — 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)

Perintah
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)

Perintah
$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:

  1. Periksa sistem sumber (OS, kerangka aplikasi, database)
  2. Cobalah memecahkan nilai yang diketahui untuk mengonfirmasi algoritme
  3. 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

Perintah
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.

Perintah
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

Perintah
$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: