Penjana MD5

5 daripada 3 penilaian

Penjana MD5 ialah alat percuma yang menukar sebarang input rentetan kepada cincangan MD5 sepanjang 32 aksara.

Apakah itu MD5, dan adakah ia masih selamat?

MD5 ialah fungsi cincangan 128 bit yang kini telah dipecahkan dari sudut kriptografi dan tidak lagi disyorkan untuk tugasan yang melibatkan keselamatan. Sifatnya adalah deterministik, jadi input yang sama menghasilkan keputusan yang sama. Ia juga sehala, iaitu data asal biasanya tidak dapat dikira semula secara langsung daripada cap jari tersebut.

Ronald Rivest mereka bentuk MD5 pada tahun 1991 sebagai pengganti MD4. Ringkasan 128 bitnya biasanya dipaparkan sebagai 32 aksara perenambelasan menggunakan angka 0 hingga 9 dan huruf a hingga f. Output yang padat serta kelajuan MD5 menyebabkan algoritma ini digunakan secara meluas untuk muat turun perisian, pangkalan data dan sistem pengesahan lama.

Penyelidik menunjukkan perlanggaran MD5 yang praktikal pada tahun 2004. Penyelidikan seterusnya membolehkan dokumen yang sengaja dibuat berbeza menghasilkan ringkasan yang sama. MD5 tidak boleh digunakan untuk tandatangan atau sijil digital dan tidak sesuai untuk semakan integriti jika penyerang boleh mengeksploitasi perlanggaran. Kelajuannya juga menjadikannya tidak sesuai untuk menyimpan kata laluan. Penjana MD2 dan Penjana MD4 merangkumi algoritma sejarah yang berkaitan, tetapi kedua-duanya bukan pengganti keselamatan yang sesuai.

Bagaimanakah cara menjana cincangan MD5?

Masukkan atau tampal rentetan yang tepat, jalankan penjana, kemudian salin nilai daripada Hash MD5. Fungsi PHP md5 melakukan pengiraan pada pelayan.

  1. Semak rentetan tepat yang dimasukkan ke dalam Penjana MD5 ini untuk memastikan tiada ruang, pemisah baris atau perubahan huruf besar dan kecil yang tidak disengajakan.
  2. Jana ringkasan dan pastikan hasilnya mengandungi 32 aksara perenambelasan.
  3. Bandingkan atau simpan kesemua 32 aksara yang dipaparkan dalam Hash MD5, bukannya bahagian yang dipendekkan.

Input dihantar ke pelayan melalui HTTPS dan tidak disimpan. Walaupun begitu, jangan masukkan kata laluan, kunci peribadi, kod pemulihan atau maklumat rahsia lain. MD5 tidak sesuai untuk melindunginya, dan pemprosesan pada pelayan bermakna input tersebut meninggalkan peranti anda.

Bolehkah cincangan MD5 dinyahsulit atau diterbalikkan?

Tidak. Cincangan MD5 tidak boleh dinyahsulit kerana pencincangan bukan penyulitan dan tiada kunci penyahsulitan. Ringkasan itu tidak mengandungi salinan input yang boleh diterbalikkan.

Namun, ini tidak bermakna cincangan MD5 bersifat peribadi. Penyerang boleh mencincang input yang berkemungkinan dan membandingkan hasilnya dengan ringkasan sasaran. Kata laluan lazim, nombor pendek dan perkataan dalam kamus sering ditemukan melalui tekaan atau pangkalan data cincangan yang telah diprakira. Perlanggaran berbeza daripada proses menterbalikkan cincangan. Perlanggaran menemukan dua input berlainan dengan ringkasan yang sama tanpa bermula daripada input tertentu, bukannya mendapatkan semula input asal.

Bilakah MD5 masih sesuai digunakan?

Gunakan MD5 hanya apabila keserasian atau jumlah semak dalam persekitaran tanpa ancaman memerlukannya secara khusus. MD5 masih boleh mengenal pasti perubahan tidak sengaja, mengumpulkan kandungan pendua dan memadankan pengecam dalam sistem lama, dengan syarat tiada sesiapa bergantung pada ketahanan terhadap perlanggaran.

  • Jumlah semak boleh mengesan kerosakan tidak sengaja semasa pemindahan fail dalaman, tetapi tidak dapat membuktikan bahawa sesuatu fail adalah tulen.
  • Penyahduplikasian boleh menggunakan MD5 sebagai cap jari awal kandungan. Bandingkan saiz fail atau kandungan sebenar sebelum memadamkan data hanya berdasarkan ringkasan yang sepadan.
  • Keserasian sistem lama mungkin memerlukan MD5 apabila pangkalan data, protokol atau pembekal sedia ada hanya menerbitkan nilai MD5.

Untuk semakan keselamatan baharu, gunakan cincangan kriptografi semasa seperti SHA-256 atau SHA-512. Untuk kata laluan, gunakan skim pencincangan kata laluan yang dibina khusus seperti Argon2id, bcrypt atau scrypt. Tidak seperti MD5, skim ini sengaja direka supaya percubaan tekaan berulang memerlukan kos pemprosesan yang tinggi.

Butiran input

MD5 mencincang bait, jadi setiap aksara dalam perwakilan yang diberikan adalah penting. Teks hello menghasilkan ringkasan perenambelasan sepanjang 32 aksara, manakala Hello menghasilkan nilai yang berbeza kerana huruf besar mengubah bait input. Menambah satu ruang di hujung juga mengubah hasilnya.

  • invoice-1042 dan invoice-1043 menghasilkan nilai 32 aksara yang kelihatan tidak berkaitan.
  • Penjana MD5 menganggap nombor yang dimasukkan dalam medan rentetannya sebagai teks. 0012 berbeza daripada 12.
  • Tanda baca, tab dan pemisah baris yang dimasukkan ke dalam Penjana MD5 menjadi sebahagian daripada input rentetan. Perenggan yang disalin mungkin mengandungi aksara baris baharu terakhir yang tidak kelihatan.
  • Aksara beraksen dan bukan Latin bergantung pada pengekodan aksara. Sistem yang membandingkan cincangan perlu menggunakan pengekodan yang sama, lazimnya UTF-8.
  • MD5 sendiri mentakrifkan ringkasan untuk input kosong dan boleh memproses jujukan bait yang panjang. Alat ini menerima input rentetan. Halaman ini tidak menyatakan bahawa fail atau input tanpa had boleh diterima.

Soalan lazim

Adakah huruf besar dalam perenambelasan mengubah ringkasan MD5?

Tidak. Perenambelasan dengan huruf besar atau kecil boleh mewakili nilai 128 bit yang sama, jadi A dan a dalam ringkasan yang dipaparkan mempunyai nilai angka yang sama. Namun, perbandingan pangkalan data yang peka huruf besar dan kecil mungkin menganggap kedua-dua rentetan teks itu berbeza. Oleh itu, seragamkan format sebelum membuat perbandingan.

Adakah penambahan garam menjadikan MD5 selamat untuk kata laluan?

Tidak. Garam yang unik menghalang penggunaan semula mudah jadual yang telah diprakira, tetapi MD5 masih terlalu pantas untuk penyimpanan kata laluan. Gunakan fungsi pencincangan kata laluan yang merekodkan garam dan tetapan kos sebagai sebahagian daripada nilai yang disimpan.

Bolehkah dua fail berbeza mempunyai cincangan MD5 yang sama?

Ya. Padanan sebegini dipanggil perlanggaran, dan terdapat kaedah praktikal untuk menghasilkan perlanggaran MD5 dengan sengaja. Perlanggaran tidak sengaja jarang berlaku dalam koleksi kecil, tetapi sistem yang mengendalikan data bernilai tinggi atau berdepan pihak berniat jahat perlu menggunakan alternatif yang tahan perlanggaran.

Mengapakah Windows dan Linux menghasilkan cincangan berbeza untuk teks yang sama?

Fail tersebut mungkin menggunakan penamat baris, pengekodan aksara atau tanda tertib bait yang berbeza walaupun teks yang kelihatan adalah sama. Apabila membandingkan output Penjana MD5 ini dengan hasil MD5 yang lain, gunakan pengekodan aksara dan kaedah penamat baris yang sama untuk input rentetan.

Bolehkah saya menukar cincangan MD5 kepada cincangan SHA-256?

Anda boleh mencincang teks MD5 sepanjang 32 aksara menggunakan SHA-256, tetapi hasil itu bukan ringkasan SHA-256 bagi input asal. Untuk membuat peralihan dengan betul, dapatkan data asal dan cincangkannya semula menggunakan SHA-256.

Semakan akhir

Sebelum bergantung pada sesuatu hasil, pastikan bait input adalah tepat, bandingkan kesemua 32 aksara dan tentukan sama ada tugas tersebut melibatkan kerosakan tidak sengaja atau perlindungan daripada pengubahan. Jika ketulenan, kata laluan atau tandatangan terlibat, MD5 bukan pilihan yang sesuai.

Alat serupa

Penjana MD2

Jana cincangan MD2 untuk sebarang input rentetan.

4,789
28
Penjana MD4

Jana cincangan MD4 untuk sebarang input rentetan.

4,894
32

Alat popular