Identifikasi Enkripsi
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
Semua format yang polanya cocok dengan sampel Anda akan tercantum di hasil.
-
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.
Pola signature yang digunakan identifier
Berdasarkan panjang (untuk hash yang dikodekan dalam format heksadesimal):
| Panjang (karakter heksadesimal) | Diidentifikasi sebagai |
|---|---|
| 32 | MD5 |
| 40 | SHA-1 |
| 64 | SHA-256 |
| 128 | SHA-512 |
Panjang lainnya, seperti SHA-224 dengan 56 karakter hex atau SHA-384 dengan 96, tidak dikenali sebagai hash (string hex 56 atau 96 karakter akan dikategorikan sebagai Base64).
Berdasarkan prefiks (hanya prefiks bcrypt yang dikenali):
$2a$,$2b$,$2y$bcrypt
Prefiks bergaya crypt lainnya ($1$, $5$, $6$, $argon2i$, $argon2id$, $pbkdf2$) tidak dikenali.
Berdasarkan enkoding:
- Semua karakter dalam
[A-Za-z0-9+/=]dengan panjang kelipatan 4: kemungkinan besar Base64. - Tiga segmen yang dipisahkan oleh
., masing-masing memakai karakter[A-Za-z0-9_-]: JWT.
Pembungkus PEM, blob OpenSSH ssh-rsa/ssh-ed25519, dan string Base64url yang mengandung - atau _ tidak terdeteksi.
Apa yang tidak dapat ditentukan oleh identifikasi
- Algoritma yang pasti dengan kepastian 100%. String 64 karakter heksadesimal dilaporkan sebagai SHA-256, tetapi bisa juga SHA3-256 atau BLAKE2s; ketiganya tidak dapat dibedakan dari teks terenkripsinya. Hash NTLM (juga 32 karakter hex) tampak identik dengan MD5.
- 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 dilengkapi salt; sedangkan versi 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 pada data Anda sendiri.
Ketika identifikasi salah
- Token dengan prefiks khusus. Terkadang aplikasi menambahkan prefiks khusus pada nilai hash; hapuslah prefiks tersebut terlebih dahulu.
- Enkoding ganda. Heksadesimal yang dibungkus format Base64 dari nilai hash biner dapat dikenali secara keliru. Coba dekode sekali lalu jalankan kembali.
- Panjang yang tidak biasa. Hash yang terpotong (16 karakter pertama dari SHA-256 dipakai sebagai ID) akan tampil sebagai “Base64” karena aturan karakter dan panjangnya saling tumpang tindih.
- Format berbingkai atau terbungkus. Blok PEM, kunci OpenSSH, dan format
pbkdf2_sha256$...dari Django tidak dikenali; hapus pembungkus atau prefiksnya lalu coba lagi, atau gunakan parser khusus.
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.
Alat Terkait
Encoder File Base64
Encode file apa pun (PDF, ZIP, gambar, file program) menjadi teks Base64 untuk disematkan dalam JSON, email, YAML, atau data URI. Berjalan lokal, tanpa unggah.
Pengode sandi A1Z26
Kodekan teks dengan sandi A1Z26 (A=1, B=2, ... Z=26) atau baca kembali urutan angka menjadi huruf, dengan pemisah yang bisa disesuaikan.
Encoder dan Decoder Base58
Encode teks UTF-8 atau byte heksadesimal dan decode Base58 secara aman dengan alfabet Bitcoin, Ripple, atau Flickr.
Encoder Sandi Caesar
Enkripsi dan dekripsi teks menggunakan sandi Caesar. Pergeseran apa pun 1-25, mendukung ROT13 sebagai kasus khusus, mempertahankan tanda baca dan kapitalisasi.
Encoder Sandi Atbash
Encode atau decode teks dengan sandi Atbash, substitusi Ibrani yang memetakan A-Z menjadi Z-A. Operasi yang sama mengenkripsi dan mendekripsi.
Generator Hash bcrypt
Buat hash bcrypt atau verifikasi password plaintext terhadap hash bcrypt yang sudah ada. Mode generate dan verify berdampingan dalam satu tool.
Alat ini tersedia dalam bahasa lain
- Encryption Identifier [EN]
- Mã định danh mã hóa [VI]
- Verschlüsselungs-Identifikator [DE]
- Identificador de Cifrado [ES]
- Krypteringsidentifierare [SV]
- 암호화 식별자 [KO]
- Identificador de Criptografia [PT]
- Identyfikator szyfrowania [PL]
- Identificateur de chiffrement [FR]
- Versleutelingsidentifier [NL]
- 加密标识符 [ZH]
- معرّف التشفير [AR]
- ตัวระบุการเข้ารหัส [TH]
- 暗号化識別子 [JA]
- Şifreleme Tanımlayıcısı [TR]
- Identificatore di Crittografia [IT]
- Идентификатор шифрования [RU]