§

Tampal teks atau lepaskan fail untuk dicincang

Pengekodan
§

Hash Generator — SHA-256, MD5, SHA-1 Dalam Talian

Keempat-empat digest dikira secara setempat di pelayar anda. Tiada yang dimuat naik.
§

MD5

Usang
§

SHA-1

Usang
§

SHA-256

§

SHA-512

Jurutera di Malaysia kerap menggunakan cincangan kriptografi: digest SHA-256 mendasari banyak audit keselamatan, checksum MD5 S3 AWS menjaga muat naik besar, dan pengesahan rantaian bekalan memetakan artifak melalui digest SHA-256. Penjana ini mengira MD5, SHA-1, SHA-256, dan SHA-512 sepenuhnya melalui API Web Crypto pelayar, supaya fail sumber dan rentetan rahsia tidak pernah pergi ke perkhidmatan cincangan — penting apabila input itu sendiri sedang disiasat atau tertakluk kepada NDA.

Apakah cincangan kriptografi?

Sebuah fungsi cincangan kriptografi mengambil input panjang sewenang-wenangnya dan mengeluarkan digest panjang tetap. Input yang sama sentiasa menghasilkan digest yang sama; membalikkan satu bit mengubah kira-kira separuh bit output. Alat ini mengira empat digest yang paling banyak digunakan — MD5 (RFC 1321), SHA-1, SHA-256, dan SHA-512 (keluarga SHA ditakrifkan oleh FIPS 180-4) — untuk sebarang teks atau fail yang anda berikan, tanpa pernah menghantar data dari peranti anda.

Bagaimana penjana cincangan ini berfungsi?

Pencincangan berjalan sepenuhnya di mesin anda. SHA-1, SHA-256, dan SHA-512 dihantar ke API crypto.subtle.digest asli pelayar; MD5 menggunakan pelaksanaan domain awam yang terbundel kerana Web Crypto tidak menghantar MD5. Langkah-langkahnya ialah:

  1. Input anda dibaca dari kawasan teks, atau fail anda dibaca dari cakera ke dalam ArrayBuffer. Teks dikodkan sebagai UTF-8 sebelum pencincangan supaya digest sepadan dengan apa yang panggilan hashlib.sha256(text.encode()) bahagian pelayan akan hasilkan.
  2. Setiap algoritma melapisi mesej ke sempadan blok dan memprosesnya blok demi blok, mencampurkan bait input dengan keadaan dalaman yang berjalan melalui urutan operasi bitwise dan aritmetik modular.
  3. Apabila blok terakhir digunakan, keadaan dalaman diselesaikan: MD5 menghasilkan 128 bit, SHA-1 menghasilkan 160 bit, SHA-256 menghasilkan 256 bit, dan SHA-512 menghasilkan 512 bit.
  4. Bait digest mentah diformat sebagai heksadesimal huruf kecil atau Base64 piawai, bergantung pada pengekodan yang anda pilih di atas panel.
  5. Setiap digest ditulis ke dalam kawasan teks baca sahaja dengan butang Salin. Menghidupkan mod Langsung mencincang semula pada setiap ketukan kekunci supaya anda boleh melihat kesan avalanche secara masa nyata.

Algoritma cincangan mana yang patut saya gunakan?

Empat algoritma yang dihantar di sini meliputi keseluruhan julat dari checksum lama hingga cadangan kriptografi terkini. Pilih mengikut kerja, bukan kebiasaan:

  • MD5 (128-bit) — pantas dan merata-rata, tetapi rosak secara kriptografi. Perlanggaran praktikal telah awam sejak 2004. Gunakannya hanya untuk checksum bukan keselamatan: kunci penyahduplikatan, penghapus cache, cap jari gaya ETag, dan mengesahkan integriti fail terhadap katalog yang dipercayai.
  • SHA-1 (160-bit) — juga tidak lagi digunakan untuk keselamatan. Serangan SHAttered menunjukkan perlanggaran PDF awam pada 2017. Masih terdapat dalam ID objek Git lama, sijil TLS lebih tua, dan pembinaan HMAC di mana pelanggaran cincangan asas belum membocorkan kunci. Jangan guna untuk kerja baharu.
  • SHA-256 (256-bit) — lalai serba guna semasa. Digunakan dalam cap jari sijil TLS, cincangan blok Bitcoin, checksum keluaran perisian, digest imej kontena, dan kebanyakan saluran paip penandatanganan kod moden. Pilih ini apabila ragu-ragu.
  • SHA-512 (512-bit) — keluarga SHA-2 yang sama seperti SHA-256 dengan keadaan dalaman yang lebih besar dan saiz perkataan 64-bit yang lebih luas. Sering lebih pantas daripada SHA-256 pada CPU 64-bit dan pilihan yang diutamakan apabila anda memerlukan margin perlanggaran tambahan atau digest yang lebih panjang untuk kunci HMAC.

Mengapa menggunakan penjana cincangan ini?

  • Privasi: setiap bait input dicincang secara setempat di pelayar anda. Tiada muat naik fail, tiada perjalanan pergi-balik rangkaian, tiada log pelayan. Pemilih fail membaca dari cakera terus melalui File API.
  • Empat digest dalam satu laluan: tampal sekali dan baca MD5, SHA-1, SHA-256, dan SHA-512 secara berdampingan, tukar pengekodan output antara hex dan Base64 tanpa mencincang semula.
  • Output piawaian-betul: keluarga SHA diwakilkan kepada crypto.subtle.digest, yang merupakan pelaksanaan FIPS 180-4 yang sama dipercayai oleh sistem pengendalian anda. MD5 mengikut RFC 1321 bait demi bait.
  • Dibina untuk kerja pengesahan: mod langsung menunjukkan kesan avalanche semasa anda menaip; panel fail mengendalikan binari sehingga memori yang boleh dipegang tab supaya anda boleh mengesahkan arkib keluaran tanpa terminal.

Apakah aplikasi biasa fungsi cincangan?

Cincangan muncul merentas kerja kejuruteraan hari ke hari:

  • Mengesahkan muat turun: membandingkan digest SHA-256 arkib keluaran terhadap nilai yang diterbitkan di laman web projek untuk mengesahkan ia tidak diganggu dalam transit.
  • Penyahpepijatan integrasi: menghasilkan semula MD5 atau SHA-256 yang tepat yang dijangka oleh perkhidmatan rakan kongsi dalam tandatangan permintaan supaya anda boleh mencari off-by-one dalam pembina rentetan kanonik anda.
  • Pengalamatan kandungan: menjana ID deterministik daripada muatan untuk digunakan sebagai kunci cache, penanda penyahduplikatan, atau pengecam objek gaya Git.

Bagaimana contoh cincangan kelihatan?

Mencincang rentetan ASCII hello menghasilkan 5d41402abc4b2a76b9719d911017c592 sebagai MD5, aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d sebagai SHA-1, 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 sebagai SHA-256, dan rentetan hex 128 aksara yang bermula 9b71d224bd62f3785d96d46ad3ea3d73... sebagai SHA-512. Menambah satu ruang penghujung tunggal dan mencincang semula mengubah setiap digest melebihi pengiktirafan.

Penjana cincangan ini berjalan sepenuhnya di pelayar anda pada primitif yang sama yang sistem pengendalian anda sudah percayai: Web Crypto untuk keluarga SHA dan rutin MD5 yang kecil dan teraudit untuk satu digest yang tidak disediakan oleh Web Crypto. Tampal, lepaskan fail, salin digest — tiada lagi yang meninggalkan tab.