CodeKitHub
Alat Penjana

MD5 Enkrip / Dekrip Dalam Talian

Kemas kini terakhir:

Ramai orang mencari alat "MD5 decrypt", tetapi MD5 bukan penyulitan — ia hash sehala, jadi tiada apa untuk dinyahsulit. Alat ini melakukan bahagian yang sebenarnya mungkin: tukar sebarang teks kepada hash MD5 32-aksara serta-merta, sepenuhnya dalam pelayar anda, supaya anda boleh sahkan data atau bandingkan dengan hash yang diketahui.

MD5 Hash

MD5 is a one-way hash — it cannot be reversed back into the original text.

Apakah alat ini?

MD5 ("Message Digest 5") mengambil sebarang input — satu perkataan, kata laluan, atau seluruh fail — dan menghasilkan cap jari tetap 128-bit, ditulis sebagai 32 aksara heksadesimal. Input yang sama sentiasa menghasilkan hash yang sama, dan menukar walaupun satu aksara menghasilkan hash yang sama sekali berbeza.

Perkataan "encrypt" sering dikaitkan dengan MD5, tetapi ini secara teknikalnya salah. Penyulitan boleh diterbalikkan dengan kunci yang betul; hashing langsung tidak boleh diterbalikkan. Perkhidmatan "MD5 decrypt" yang mungkin pernah anda lihat dalam talian tidak sebenarnya membalikkan matematik itu — ia mencari hash anda dalam jadual besar yang telah dikira terlebih dahulu bagi kata laluan dan perkataan biasa, dan hanya berjaya jika teks asal anda kebetulan sudah ada dalam jadual itu.

MD5 diterbitkan oleh Ron Rivest pada 1992 sebagai RFC 1321. Ia telah dikenal pasti tidak selamat dari segi kriptografi (perlanggaran boleh direka secara sengaja), tetapi masih meluas digunakan untuk checksum, kunci cache dan deduplikasi di mana keselamatan bukan kebimbangan.

Kenapa guna alat ini?

  • Jana hash MD5 untuk sahkan fail atau string tidak diubah secara tidak sengaja.
  • Bandingkan hash anda dengan MD5 yang diketahui/diterbitkan untuk sahkan integriti.
  • Cipta kunci cache tertentu atau ID deduplikasi.
  • Fahami dengan jelas kenapa "menyahsulit" hash MD5 sebenarnya tidak mungkin.
  • 100% tempatan: input anda dihash dalam pelayar anda dan tidak pernah dimuat naik.

Cara menggunakannya

  1. Taip atau tampal teks anda ke dalam kotak input.
  2. Klik "Generate MD5".
  3. Baca hash 32-aksara yang terhasil (tandakan "Uppercase output" jika anda perlukan huruf besar).
  4. Klik "Copy" untuk salin hash, atau gunakannya untuk bandingkan dengan hash yang sudah anda ada.

Contoh

Input

hello

Hasil

5d41402abc4b2a76b9719d911017c592

MD5 bersifat pasti: teks "hello" menghasilkan hash tepat ini pada setiap alat, setiap kali.

"Encrypt" berbanding "hash": kenapa istilah itu penting

Penyulitan dan hashing menyelesaikan masalah berbeza, dan mencampur adukkannya membawa kepada kesilapan keselamatan sebenar. Penyulitan mengubah data secara boleh terbalik menggunakan kunci — sulitkan dengan kunci, nyahsulit dengan kunci (sama atau berpasangan), dapatkan semula asal. Hashing mengubah data secara sehala tanpa kunci langsung — tiada operasi yang menukar hash kembali kepada inputnya, mengikut reka bentuk.

MD5 ialah fungsi hash, bukan sifer. Menyebutnya "MD5 encryption" adalah penggunaan tidak formal yang biasa, tetapi ia menetapkan jangkaan yang salah: tiada operasi "MD5 decrypt" yang sah. Apa jua yang diiklankan sebagai satu sama ada jadual carian (hanya berfungsi untuk input biasa yang sudah diketahui) atau langsung tidak berfungsi.

Bila MD5 masih boleh digunakan

  • Mengesahkan fail yang dimuat turun sepadan dengan checksum penerbit sebelum menjalankannya.
  • Menjana kunci cache tertentu daripada URL atau string pertanyaan.
  • Menyahduakan rekod dengan menghash setiap satu dan membandingkan hash bukannya teks penuh.
  • Menyemak dengan pantas sama ada dua fail sama bait demi bait tanpa membandingkan secara langsung.

Bila untuk elakkan MD5 sepenuhnya

Jangan sesekali guna MD5 untuk kata laluan, tandatangan digital, atau apa jua di mana penyerang yang mendapat manfaat daripada padanan palsu itu penting. Kerana perlanggaran boleh direka secara sengaja, dan kerana hash MD5 tanpa salt bagi input pendek atau biasa boleh diterbalikkan melalui jadual carian, MD5 tidak menawarkan keselamatan sebenar dalam konteks ini. Untuk kata laluan, guna bcrypt, scrypt atau Argon2. Untuk tandatangan dan integriti di mana ketahanan terhadap gangguan penting, guna SHA-256 atau lebih kuat.

Soalan lazim

Bolehkah saya nyahsulit hash MD5 kembali kepada teks asal?

Tidak — hashing bersifat sehala mengikut reka bentuk; teks asal tidak boleh dikira daripada hash. Laman "decryption MD5" hanya mencari hash dalam jadual besar yang telah dikira terlebih dahulu bagi input biasa, itulah sebabnya input unik atau panjang tidak boleh diterbalikkan.

Jadi apa yang sebenarnya dilakukan laman "MD5 decrypt"?

Mereka menyelenggara pangkalan data besar yang memetakan perkataan biasa, nama dan kata laluan yang bocor kepada hash MD5 mereka, kemudian melakukan carian. Jika teks asal anda tiada dalam pangkalan data mereka — yang berkemungkinan untuk apa jua yang tidak remeh — mereka hanya gagal memulangkan hasil.

Adakah MD5 selamat untuk menyimpan kata laluan?

Tidak, sama sekali tidak. MD5 pantas untuk dipecah kekerasan dan mempunyai serangan perlanggaran yang diketahui, dan "penyahsulitan" jadual carian adalah tepat serangan yang memecahkan penyimpanan kata laluan MD5 tanpa salt. Guna bcrypt, scrypt atau Argon2 untuk kata laluan sebaliknya.

Kenapa teks yang sama memberi hash berbeza pada alat lain?

Biasanya perbezaan yang tidak kelihatan: baris baharu atau ruang di hujung, penamat baris berbeza (\r\n berbanding \n), atau pengekodan teks berbeza. Input yang sama bait demi bait sentiasa menghasilkan hash MD5 yang sama.

Adakah teks saya dihantar ke pelayan untuk dihash?

Tidak. Hash MD5 dikira dengan JavaScript terus dalam pelayar anda — input anda tidak pernah dihantar ke mana-mana.

Alat berkaitan