Identifikasi Enkripsi
Tempel nilai yang ingin diidentifikasi.
Anda telah mengambil hasil dump basis data dan menemukan string seperti $2y$10$... atau 5f4dcc3b5aa765d61d8327deb882cf99; Anda perlu memahami isi string tersebut sebelum mulai melakukan pemecahan atau pembalikan enkripsi. Identifier ini menerapkan pendekatan heuristik terhadap panjang, karakter set, struktur, dan prefiks untuk menduga algoritma atau metode pengkodean yang paling mungkin digunakan dalam sampel teks terenkripsi.
Cara mengidentifikasi teks sandi
-
1
Tempel sampel
Satu hash tunggal, blok teks terenkripsi, token, atau string terenkripsi.
-
2
Lihat format yang cocok
Hasil mengurutkan format yang cocok: yang paling mungkin berada di urutan teratas, lalu kemungkinan lain dari sampel tersebut.
-
3
Periksa silang
Jika ada beberapa format yang cocok, gunakan hash cracker atau decoder untuk memastikan mana yang benar.
-
4
Perhatikan ketidakpastiannya
Identifikasi dari satu sampel saja jarang bersifat pasti; jika tidak ada yang cocok, alat ini akan menyatakannya.
Format yang dikenali alat ini
Hash heksadesimal, dikenali dari panjangnya (huruf besar atau kecil):
| Panjang (karakter heksadesimal) | Paling mungkin |
|---|---|
| 8 | CRC32 atau checksum 32-bit lainnya |
| 32 | MD5, MD4, atau NTLM |
| 40 | SHA-1 atau RIPEMD-160 |
| 56 | SHA-224 atau SHA3-224 |
| 64 | SHA-256 atau SHA3-256 |
| 96 | SHA-384 atau SHA3-384 |
| 128 | SHA-512 atau SHA3-512 |
Sebagai contoh, d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01 terdiri dari 56 karakter: itu adalah hash SHA-224 dari kata “password”.
Hash kata sandi, dikenali dari prefiks dan strukturnya:
$2a$,$2b$,$2y$: bcrypt, dengan faktor biaya yang dibaca dari prefiks$1$: md5crypt;$apr1$: Apache MD5 (htpasswd)$5$dan$6$: sha256crypt dan sha512crypt$y$: yescrypt;$7$dan$scrypt$: scrypt$argon2id$,$argon2i$,$argon2d$: Argon2$pbkdf2-sha256$(passlib) danpbkdf2_sha256$(Django): PBKDF2$P$dan$H$: phpass (WordPress, phpBB);$S$: Drupal 7*yang diikuti 40 karakter heksadesimal: MySQL 4.1+{SSHA},{SHA}, dan skema LDAP umum lainnya
Untuk kasus yang umum, hasilnya juga menampilkan mode hashcat (-m): MD5 0, NTLM 1000, SHA-1 100, SHA-256 1400, SHA-512 1700, bcrypt 3200, md5crypt 500, sha256crypt 7400, sha512crypt 1800, phpass 400, Drupal 7 7900, MySQL 4.1+ 300, dan Django PBKDF2-SHA256 10000.
Kunci, token, dan pengenal:
- Blok PEM (
-----BEGIN ...-----): kunci privat (RSA, EC, OpenSSH, PKCS #8), kunci privat yang dilindungi kata sandi, kunci publik, sertifikat X.509, dan permintaan sertifikat - ASCII armor OpenPGP: pesan terenkripsi (
BEGIN PGP MESSAGE), blok kunci, dan tanda tangan - Kunci publik OpenSSH (
ssh-rsa,ssh-ed25519,ecdsa-sha2-...) - JSON Web Token: header-nya didekode untuk menampilkan
algdantyp, dan token lima bagian yang memiliki fieldencadalah JWE terenkripsi - UUID beserta versinya (sebuah pengenal, bukan hash)
Enkoding, hanya jika tidak ada pola lain yang lebih spesifik yang cocok:
- Heksadesimal, Base32, Base64, dan Base64url, dengan panjang hasil dekode dalam byte, serta enkoding URL (percent-encoding).
- Data heksadesimal atau Base64 yang panjang hasil dekodenya kelipatan 16 byte bisa jadi merupakan keluaran cipher blok seperti AES; panjang 128, 256, 384, atau 512 byte juga bisa berupa data terenkripsi RSA atau tanda tangan digital. Data Base64 atau Base32 sepanjang 16, 20, 28, 32, 48, atau 64 byte bisa jadi merupakan hash MD5, SHA-1, atau SHA-2 mentah.
Apa yang tidak dapat ditentukan oleh identifikasi
- Algoritma yang pasti dengan kepastian 100%. String 64 karakter heksadesimal dilaporkan sebagai SHA-256 atau SHA3-256, tetapi BLAKE2s dan hash 256-bit lainnya tampak persis sama. Hash MD5, MD4, dan NTLM sama-sama terdiri dari 32 karakter heksadesimal.
- Cipher yang dipakai untuk mengenkripsi data. Data terenkripsi tampak acak. Panjangnya hanya mempersempit pilihan, sehingga AES atau RSA hanyalah kemungkinan, bukan kepastian.
- Kekuatan kunci. Hash bcrypt menampilkan faktor biaya dalam prefiksnya (
$2y$10$= biaya 10), tetapi tidak mencerminkan kekuatan kata sandi yang sebenarnya. - Apakah memakai salt atau tidak. Hash kata sandi modern (bcrypt, Argon2) selalu memakai salt, sedangkan yang lama (MD5/SHA mentah) mungkin memakainya, mungkin juga tidak.
- Teks asli (plaintext). Identifikasi tidak membalikkan nilai hash; pemecahan hash merupakan proses terpisah yang hanya sah dilakukan pada data Anda sendiri.
Ketika identifikasi salah
- Token dengan prefiks khusus. Terkadang aplikasi membungkus hash dengan prefiksnya sendiri; hapus pembungkus tersebut terlebih dahulu.
- Enkoding ganda. Hash biner yang diubah ke heksadesimal lalu dibungkus lagi dengan Base64 akan salah dikenali. Coba dekode sekali, lalu periksa kembali.
- Panjang yang tidak biasa. Hash yang terpotong (misalnya 16 karakter pertama SHA-256 yang dipakai sebagai ID) akan tampil sebagai data heksadesimal biasa, karena panjangnya tidak cocok dengan hash mana pun di tabel atas.
- Beberapa nilai sekaligus. Pemeriksaan hanya membaca satu nilai. Jika Anda menempelkan daftar hash, hanya baris pertama yang diperiksa; tempel nilai lainnya satu per satu.
Kasus Penggunaan
- Audit keamanan: pengkatalogan jenis hash di seluruh basis kode sebelum migrasi kriptografi.
- Tantangan CTF: evaluasi awal yang cepat terhadap objek yang tidak diketahui.
- Respons insiden: mengidentifikasi format kredensial yang bocor.
- Debugging framework: menentukan jenis pengkodean yang dihasilkan oleh suatu pustaka.
Pengingat Etika
Mengidentifikasi format hash merupakan bentuk penelitian pasif. Memecahkan nilai hash milik orang lain tanpa izin melanggar undang-undang penyalahgunaan komputer di sebagian besar yurisdiksi. Hanya lakukan analisis terhadap nilai hash yang dimiliki atau telah diberi wewenang untuk dianalisis.
Pertanyaan yang Sering Diajukan
Secara parsial: MD5 terdiri dari 32 karakter heksadesimal, sedangkan SHA-1 terdiri dari 40 karakter heksadesimal. Jika kedua algoritma memiliki panjang yang sama, hasil hash saja tidak dapat digunakan untuk membedakannya. Perbedaan tersebut umumnya dapat ditentukan berdasarkan konteks, seperti nama kolom basis data, pengaturan default framework, atau skema yang bocor.
Tidak. Proses ini hanya berfungsi untuk identifikasi. Untuk membalikkan nilai hash atau mendekripsi teks terenkripsi diperlukan alat khusus (serta kunci atau sumber daya komputasi yang diperlukan untuk pemecahan), dan hanya boleh dilakukan pada materi yang dimiliki secara pribadi.
Argon2id (atau bcrypt dengan faktor biaya tinggi) merupakan rekomendasi saat ini. PBKDF2-SHA256 dan scrypt masih dapat diterima. MD5 polos, SHA-1, atau SHA-256 tanpa salt tidak aman untuk penyimpanan kata sandi.
Tidak. Nilai yang Anda tempel dikirim ke server kami untuk pemeriksaan format, tetapi tidak disimpan dalam basis data apa pun dan tidak ditambahkan ke tautan halaman. Di antara kedua langkah, nilai tersebut disimpan sementara di tab browser ini, dan tombol “Mulai dari awal” akan menghapusnya.
Alat Terkait
Penghasil API Kunci Acak
Buat kunci API 8–128 karakter di server dalam format hex, base64url, atau alfanumerik, atau buat UUIDv4.
Pemeriksa Kekuatan Kata Sandi
Periksa kekuatan kata sandi di browser Anda: panjang, ragam karakter, entropi dalam bit, dan perkiraan kasar waktu retas. Tidak ada yang diunggah.
Generator Frasa Sandi
Buat frasa sandi yang mudah diingat dari kata-kata umum acak, dengan jumlah kata, pemisah, kapitalisasi, dan angka tambahan opsional yang dapat disesuaikan.
Enkoder sandi Polybius
Ubah huruf Latin menjadi koordinat Polybius atau dekode pasangan berjarak dengan kisi I/J tetap 5×5.
Sandi Angka ke Huruf
Ubah angka menjadi huruf dan sebaliknya dengan sandi A=1, B=2 (A1Z26) untuk teka-teki, tebak-tebakan, dan petunjuk escape room.
Generator Kunci PGP
Buat pasangan kunci OpenPGP berformat ASCII armor beserta sertifikat pencabutan menggunakan Curve25519, RSA 2048, atau RSA 4096.
Alat ini tersedia dalam bahasa lain
- Mã định danh mã hóa [VI]
- 暗号化識別子 [JA]
- Identificador de Criptografia [PT]
- معرّف التشفير [AR]
- Identificador de Cifrado [ES]
- Krypteringsidentifierare [SV]
- ตัวระบุการเข้ารหัส [TH]
- Verschlüsselungs-Identifikator [DE]
- Identificateur de chiffrement [FR]
- 암호화 식별자 [KO]
- Versleutelingsidentifier [NL]
- Identyfikator szyfrowania [PL]
- 加密标识符 [ZH]
- Encryption Identifier [EN]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]
- Şifreleme Tanımlayıcısı [TR]