Bahasa Indonesia

Alat pengembang · SHA kalkulator hash

Mengapa Kripto Web Menawarkan SHA-1 hingga SHA-512 tetapi Bukan MD5 atau SHA-3

· Cara kerjanya

kriptografi browser-apis sha-256 javascript

Empat kotak algoritme berlabel SHA-1 hingga SHA-512 dengan tanda centang dan kotak terkait yang hilang untuk MD5 dan SHA-3
Ilustrasi vektor ToolAcre asli

Intisari browser API mendukung tepat empat algoritma. Postingan ini menjelaskan mengapa MD5 tidak disertakan, mengapa SHA-3 tidak ditambahkan, dan apa artinya alat yang menolak mengirimkan apa yang tidak disediakan oleh platform.

Dimana MD5? — pertanyaan pertama dari siapa pun yang memigrasikan alur kerja checksum lama

Kripto Web browser API mengirimkan tepat empat algoritma intisari: SHA-1, SHA-256, SHA-384 dan SHA-512. Jika Anda menggunakan kalkulator hash ToolAcre SHA yang mengharapkan MD5 atau SHA-3, Anda tidak akan menemukannya. Kekhususan tersebut bukanlah batasan dari alat ini; ini mencerminkan pilihan platform yang disengaja. Memahami mengapa keempat alternatif ini disertakan dan mengapa dua alternatif populer tidak disertakan memberi tahu Anda banyak hal tentang bagaimana API browser dirancang.

Setiap browser utama menampilkan crypto.subtle.digest pada asal yang aman. Saat JavaScript Anda memanggil metode tersebut, metode tersebut akan lolos ke implementasi kriptografi platform—kode asli yang dijalankan dengan sandbox keamanan dan pengoptimalan kinerja. Algoritma intisari yang ditawarkan dipilih oleh W3C Kelompok Kerja Kripto Web dengan prioritas khusus: kompatibilitas dengan standar keamanan yang ada, dukungan yang tersedia di seluruh perpustakaan kriptografi, kematangan, dan kebutuhan keamanan praktis platform web.

Empat algoritme yang didukung SubtleCrypto.digest — SHA-1, SHA-256, SHA-384 dan SHA-512, dan tidak ada yang lain

ToolAcre menerima empat pengidentifikasi yang sama yang diterapkan oleh digestBytes: SHA-1, SHA-256, SHA-384 dan SHA-512. Nama yang tidak dikenal ditolak sebelum Web Crypto dipanggil, dan jaringan pengujian secara khusus meneruskan MD5 untuk mengonfirmasi penolakan tersebut. Oleh karena itu, pemilih menggambarkan batasan produk yang diuji daripada survei terhadap setiap intisari yang pernah distandarisasi.

SHA-1 yang muncul dalam daftar tersebut tidak memberikan keempat rekomendasi yang setara. Objek hasilnya membawa bendera yang rusak dan antarmuka mengulangi peringatan lama; tiga lainnya adalah pilihan SHA-2 yang tersedia. Ketersediaan dan kesesuaian harus tetap terpisah setiap kali alat kompatibilitas mereproduksi nilai lama tanpa mendorong ketergantungan baru terhadap nilai tersebut.

MD5 tidak hadir dalam implementasi ini dan Web Crypto; artikel ini tidak menambahkan alasan standar yang tidak bersumber

MD5 adalah fungsi hash kriptografi yang menghasilkan intisari 128-bit, membuatnya lebih pendek dan lebih murah secara komputasi daripada SHA-256. Selama beberapa dekade, ini adalah pilihan standar untuk checksum dan tanda tangan digital. Namun, ketahanan tabrakan MD5 pada dasarnya telah rusak. Di 2004, para kriptografer mendemonstrasikan tabrakan praktis—dua masukan berbeda dengan intisari yang sama—dan algoritme telah dibongkar secara menyeluruh melalui karya akademis. Kerentanan matematis bersifat mutlak dan permanen.

Spesifikasi Kripto Web W3C sengaja membuat pilihan untuk tidak menyertakan MD5. Alasannya jelas: mengirimkan algoritme yang rusak ke jutaan pengguna browser akan menormalkan penggunaannya dalam aplikasi baru, meskipun algoritme tersebut hanya akan muncul dalam skenario kompatibilitas lama. Jika suatu aplikasi benar-benar memerlukan MD5 untuk interoperabilitas dengan sistem lama, kode tersebut termasuk dalam runtime sisi server tempat persyaratan tersebut dipahami dan diaudit, bukan di browser. Membuat algoritme yang rusak dapat diakses dengan mudah akan menciptakan ekspektasi keamanan dalam sistem baru.

Kalkulator hash ToolAcre SHA juga tidak mengirimkan implementasi MD5. Seperti platform API yang digunakannya, ia menolak membuat algoritme yang rusak dapat diakses dengan mudah. Jika aplikasi Anda benar-benar membutuhkan MD5—sistem Git lama yang jarang ditemukan—implementasinya termasuk dalam basis kode Anda sendiri dengan catatan jelas bahwa ini adalah shim kompatibilitas. Aksesibilitas menciptakan ekspektasi, dan algoritme yang rusak tidak layak untuk diharapkan.

SHA-3 berada di luar browser API dan alat; riwayat adopsinya berada di luar bukti penyimpanan

SHA-3 telah distandarisasi oleh NIST di 2015 setelah kompetisi publik yang panjang, dan secara kriptografis solid. Ia menggunakan konstruksi yang berbeda secara mendasar dari SHA-2, yang disebut spons, yang menawarkan sifat teoritis menarik dan trade-off kinerja tergantung pada perangkat keras Anda. Pada sistem modern, SHA-3 bisa lebih cepat dari SHA-256. Namun platform browser saat ini tidak memaparkannya, dan penundaan ini mencerminkan keputusan praktis mengenai kematangan platform dan kecepatan adopsi.

Penundaan pengiriman SHA-3 mencerminkan kenyataan: Web Kripto dirancang untuk mencakup algoritme yang digunakan secara luas di seluruh web dan di HTTPS/TLS. Pada penyelesaian API, SHA-2 (256, 384, 512) merupakan konsensus yang sangat besar untuk produk baru sistem, dan perpindahan ke SHA-3 terjadi jauh lebih lambat dibandingkan perpindahan dari MD5 atau SHA-1. Sebagian besar aplikasi belum memerlukan SHA-3. Biaya untuk memperluas API dan mengujinya di setiap browser dan platform tidak sesuai dengan permintaan saat peluncuran.

Ini bukanlah penolakan permanen. Kripto Web API dapat berkembang. Jika adopsi SHA-3 dipercepat, kelompok kerja dapat menambahkannya. Kumpulan saat ini mewakili algoritma yang matang dan terstandarisasi secara luas yang dibutuhkan Web Crypto untuk melayani kebutuhan keamanan platform yang mendesak. API Browser harus stabil dan dipelihara dengan hati-hati; terburu-buru menambahkan fitur sebelum kebutuhan meluas menimbulkan beban pemeliharaan dan risiko kompatibilitas di tahun-tahun mendatang.

Mengapa SHA-1 masih ada — kebutuhan verifikasi lama, dan perbedaan antara menawarkan dan merekomendasikan

SHA-1 disertakan dalam Web Crypto meskipun secara kriptografis rusak. Pilihan yang berlawanan dengan intuisi ini sering kali mengejutkan pengembang. Algoritme ini menghasilkan intisari 160-bit, dan serangan tabrakan terhadap SHA-1 kini dapat dilakukan—dua dokumen berbeda dapat dibuat untuk berbagi intisari yang sama. Tabrakan awalan yang dipilih memungkinkan penyerang membuat dua dokumen yang bermakna saat bertabrakan, sehingga merusak tanda tangan dan sertifikat. Namun itu tetap ada di platform.

SHA-1 tetap berada di Web Crypto karena satu alasan penting: kompatibilitas lama. Pengidentifikasi objek Git didasarkan pada SHA-1, dan saat proyek Git bertransisi ke SHA-256, jutaan repositori, referensi, dan sistem pembangunan yang ada masih mengeluarkan hash SHA-1. TLS sidik jari sertifikat dari sistem lama membawa SHA-1 intisari. API yang mengeluarkan tanda tangan HMAC-SHA1 beberapa tahun yang lalu masih memerlukan validasi. Sistem yang diterapkan ini harus diverifikasi atau dimigrasikan. Platform ini menyertakan SHA-1 untuk memungkinkan pekerjaan yang diperlukan tersebut.

Platform API mencakup SHA-1 dengan pemahaman yang jelas bahwa platform ini dibuat untuk kompatibilitas, bukan rekomendasi. UI browser memberi label SHA-1 dengan peringatan. Kalkulator hash ToolAcre SHA menampilkan "Rusak secara kriptografis" di samping hasil SHA-1, memastikan siapa pun yang menggunakannya memahami bahwa mereka bekerja dengan materi lama. Transparansi sangatlah penting; pengguna tidak boleh salah mengartikan kompatibilitas SHA-1 dengan dukungan SHA-1.

Jika kompatibilitas memerlukan MD5, gunakan implementasi yang telah ditinjau di luar alat ini dan jangan pernah salah mengartikan kompatibilitas sebagai keamanan

Keempat algoritma di Web Crypto selaras dengan ekosistem cipher suite TLS dan dengan standar keamanan yang paling penting. SHA-256 adalah default saat ini untuk hashing tujuan umum, digunakan dalam pemeriksaan integritas subsumber daya, pengalamatan konten, dan sistem keamanan baru. SHA-512 lebih cepat pada perangkat keras 64-bit dan menawarkan intisari yang lebih luas. SHA-384 terutama dikenal karena penggunaannya dalam jaringan sandi TLS.

SHA-1 disimpan untuk interoperabilitas, bukan karena siapa pun harus memulai sistem baru dengannya. Jika Anda memverifikasi checksum SHA-1 yang ada, mencocokkan sidik jari sertifikat lama, atau mereproduksi ID penerapan Git, SHA-1 di ToolAcre memungkinkan Anda melakukannya. Jika Anda merancang sistem baru, SHA-256 adalah pilihan yang tepat. Algoritme yang Anda pilih menandakan pemahaman Anda tentang model keamanan.

Hal yang tidak tercakup dalam hal ini adalah runtime sisi server, yang biasanya menampilkan lebih banyak algoritma intisari

Jika aplikasi Anda benar-benar membutuhkan MD5, SHA-3 atau algoritme lainnya, pilihannya jelas: simpan kode tersebut di runtime sisi server dan hanya tampilkan hasil akhirnya ke browser. Jangan mengirimkan implementasi algoritma kriptografi JavaScript Anda sendiri untuk penggunaan browser. Web Crypto asli browser lebih cepat, lebih aman, dan diaudit dengan cara yang tidak dapat ditandingi oleh fungsi JavaScript yang ditulis tangan. Mendelegasikan ke platform selalu merupakan pilihan yang tepat ketika platform menyediakan apa yang Anda butuhkan.

Hal ini berlaku bahkan untuk algoritma "sederhana". Implementasi MD5 yang ditulis sendiri mungkin tampak tidak berbahaya karena MD5 tetap saja rusak, namun algoritme yang rusak tidak memiliki gradasi—hanya rusak. Pengiriman satu menormalkan praktik penerapan kriptografi dalam kode aplikasi. Browser menyediakan apa yang dibutuhkan platform; menggunakan apa yang disediakannya. Kriptografi linting tangan adalah satu-satunya sumber kerentanan keamanan terbesar dalam aplikasi web karena pengembang meremehkan kasus-kasus halus dan rumit.

Kesimpulan: keterbatasan adalah bagian dari produk — kalkulator hash ToolAcre SHA menawarkan empat algoritme yang diimplementasikan oleh browser secara asli, dan dokumen yang membatasi

Kalkulator hash ToolAcre SHA memunculkan batasan ini secara langsung: Anda melihat empat algoritma yang disediakan Web Crypto, tidak lebih dan tidak kurang. Jika Anda menempelkan suatu nilai dan berpikir "Saya memerlukan MD5", ketidakhadiran tersebut disengaja. Jika Anda memerlukannya, itu adalah sinyal bahwa sistem Anda memiliki komponen lama yang memerlukan penanganan hati-hati—persis seperti kegunaan alat migrasi sisi server khusus, bukan utilitas browser. Kejujuran alat ini mengenai apa yang ditawarkan dan apa yang tidak ditawarkannya merupakan informasi berharga.

Desain Web Crypto mencerminkan praktik kriptografi selama puluhan tahun: algoritme yang distandarisasi, diaudit, dan terbukti dalam penerapan luas. SHA-256 dan SHA-512 adalah default yang masuk akal. SHA-384 membawa garis keturunan TLS-nya. SHA-1 ada karena web memiliki SHA-1 intisari yang perlu diverifikasi selama bertahun-tahun. MD5 dan SHA-3 tidak ada karena MD5 rusak dan SHA-3 belum penting bagi platform.