Penjana SHA-1
Penjana SHA-1 ialah alat percuma yang menukar rentetan kepada hash SHA-1 160 bit, dipaparkan sebagai 40 aksara perenambelasan.
Apakah fungsi SHA-1?
SHA-1 menghasilkan cap jari dengan panjang tetap daripada input sepanjang apa pun. Penghashan SHA-1 ialah operasi sehala, jadi cerna tidak mengandungi salinan teks asal yang boleh dibaca. Perubahan kecil pada input sekalipun akan menghasilkan nilai 160 bit yang berbeza.
SHA-1 direka oleh Agensi Keselamatan Negara Amerika Syarikat dan diterbitkan oleh Institut Piawaian dan Teknologi Kebangsaan pada tahun 1995. Namanya ialah singkatan bagi Secure Hash Algorithm 1. Walaupun nama itu masih digunakan, SHA-1 tidak lagi dianggap selamat daripada serangan perlanggaran.
Perlanggaran SHA-1 berlaku apabila dua input berbeza menghasilkan cerna yang sama. Penyelidik telah menunjukkan perlanggaran SHA-1 yang praktikal. Oleh itu, algoritma ini tidak lagi disyorkan untuk tandatangan digital, sijil dan keadaan lain yang membolehkan penyerang mengubah kandungan dengan sengaja.
Bagaimanakah cara menjana hash SHA-1?
Masukkan rentetan tepat yang ingin anda hash, kemudian lihat nilai perenambelasan 40 aksara dalam medan hasil Hash SHA-1. Pemprosesan dilakukan pada pelayan. Input anda dihantar ke pelayan melalui HTTPS dan tidak disimpan.
Contoh piawai berikut menunjukkan format yang dijangka dan cara input mempengaruhi hasil:
- Input abc menghasilkan a9993e364706816aba3e25717850c26c9cd0d89d.
- Rentetan bait kosong menghasilkan da39a3ee5e6b4b0d3255bfef95601890afd80709.
- Input abc , dengan ruang di hujung, menghasilkan hash yang berbeza daripada abc.
SHA-1 memproses bait, bukannya aksara yang dibaca manusia. Ruang, tanda baca, huruf besar dan penamat baris semuanya diambil kira. Penjana SHA-1 ini menghash nombor yang dimasukkan dalam medan teks sebagai aksara. Jadi, 123 bermaksud tiga aksara, iaitu 1, 2 dan 3.
Untuk SHA-1, aksara beraksen dan bukan Latin perlu dikodkan sebagai bait terlebih dahulu. Dua sistem boleh menghasilkan hash berbeza bagi teks yang kelihatan sama jika kedua-duanya menggunakan pengekodan aksara atau penormalan Unicode yang berlainan. Apabila memadankan hasil SHA-1 daripada penjana ini dengan sistem lain, pastikan kedua-duanya menggunakan pengekodan yang sama, biasanya UTF-8, serta kelaziman penamat baris yang sama.
Bolehkah SHA-1 dinyahsulitkan atau diterbalikkan?
Tidak. Hash SHA-1 tidak boleh dinyahsulitkan kerana penghashan bukan penyulitan dan tiada kunci penyahsulitan. Secara umum, mendapatkan semula sebarang input asal daripada cernanya masih tidak praktikal dari segi pengiraan.
Namun, keadaannya berbeza bagi input yang boleh diramal. Penyerang boleh mengira hash SHA-1 untuk nilai yang berkemungkinan daripada kamus atau senarai yang dijana sehingga menemui padanan. Inilah sebabnya SHA-1 tidak boleh digunakan untuk menyimpan kata laluan, walaupun cerna itu sendiri tidak boleh diterbalikkan begitu sahaja.
Serangan perlanggaran juga tidak menyahsulitkan hash. Serangan ini mencari dua input berbeza dengan cerna yang sama, dan itu sudah cukup untuk menjejaskan tandatangan serta semakan integriti dalam persekitaran yang berisiko diserang.
Di manakah SHA-1 masih digunakan?
SHA-1 masih ditemui dalam jumlah semak untuk keadaan tanpa ancaman serangan, pengesanan pendua dan sistem yang memerlukan keserasian dengan format lama. Perwakilan perenambelasan 40 aksaranya juga terdapat dalam pengecam kawalan sumber lama dan rekod perisian yang diarkibkan.
- Jumlah semak: SHA-1 boleh mengesan perubahan tidak sengaja apabila cerna yang dijangka diperoleh daripada sumber dipercayai. Ia tidak dapat membuktikan integriti jika penyerang boleh menggantikan fail dan hash yang diterbitkan untuk fail tersebut.
- Penyahduplikasian: SHA-1 boleh membantu mengenal pasti rekod atau fail yang kelihatan sama apabila penciptaan perlanggaran secara sengaja tidak termasuk dalam model ancaman. Sistem yang menggunakan SHA-1 dan tidak boleh menerima sebarang perlanggaran juga perlu membandingkan data asas.
- Keserasian sistem lama: sesetengah pangkalan data, API dan format fail memerlukan nilai SHA-1 sedia ada. Memenuhi keperluan itu boleh diterima, tetapi reka bentuk baharu perlu menggunakan algoritma semasa.
Jangan gunakan SHA-1 biasa untuk kata laluan, tandatangan digital, penciptaan atau penandatanganan sijil, penjanaan token keselamatan atau pengesahan, mahupun rekod dokumen yang perlu tahan pengubahsuaian.
Status keselamatan SHA-1 dan penggantinya
SHA-1 telah rosak dari sudut kriptografi bagi rintangan perlanggaran dan tidak lagi disyorkan untuk kerja baharu yang melibatkan keselamatan. Cerna 160 bitnya lebih pendek berbanding cerna yang dihasilkan oleh varian SHA-2 dan SHA-3 yang lazim, tetapi panjang cerna bukan satu-satunya sebab untuk menghentikan penggunaannya. Serangan perlanggaran yang telah dibuktikan merupakan faktor penentu.
Gunakan SHA-256 atau SHA-512 untuk jumlah semak yang nilai jangkaannya diperoleh daripada sumber dipercayai, melainkan spesifikasi menetapkan kaedah lain. Integriti yang disahkan memerlukan MAC atau skim tandatangan digital yang sesuai. SHA-3 ialah satu lagi keluarga algoritma semasa. Jika cerna SHA-2 224 bit diperlukan secara khusus, Penjana SHA-224 menghasilkan format tersebut. Untuk kata laluan, gunakan fungsi penghashan kata laluan khusus seperti Argon2id, scrypt atau bcrypt dan bukannya SHA-1.
Soalan lazim tentang SHA-1
Adakah SHA-1 perenambelasan dalam huruf besar dan huruf kecil berbeza?
Tidak. Huruf perenambelasan besar dan kecil boleh mewakili nilai 160 bit yang sama. Namun, sistem yang membuat perbandingan teks sensitif huruf besar dan kecil mungkin masih menganggap kedua-dua rentetan itu berbeza. Oleh itu, kekalkan format yang dijangka oleh sistem tersebut.
Bolehkah saya mengira SHA-1 untuk fail menggunakan alat ini?
Alat ini menghash input rentetan dan tidak menyediakan fungsi muat naik fail. Untuk mendapatkan jumlah semak fail, gunakan utiliti setempat seperti sha1sum pada Linux atau arahan setara yang membaca bait fail secara langsung. Jangan tampal kandungan fail perduaan ke dalam medan teks Penjana SHA-1 kerana perubahan pengekodan atau penamat baris boleh mengubah hasilnya.
Adakah HMAC-SHA-1 juga sudah rosak?
Serangan perlanggaran SHA-1 yang telah diterbitkan tidak memecahkan HMAC-SHA-1 secara langsung dengan cara yang sama kerana HMAC menggunakan kunci rahsia dan binaan yang berasingan. Walaupun begitu, protokol baharu biasanya memilih HMAC-SHA-256 atau pilihan semasa yang lain untuk mengelakkan kebergantungan pada teknologi lama dan sekatan dasar.
Adakah penambahan garam menjadikan SHA-1 selamat untuk kata laluan?
Tidak. Garam menghalang kata laluan yang sama daripada berkongsi cerna SHA-1 tersimpan yang sama dan menyukarkan penggunaan jadual prahitung, tetapi SHA-1 masih terlalu pantas untuk penyimpanan kata laluan. Gunakan fungsi penghashan kata laluan dengan faktor kerja yang boleh dikonfigurasikan serta garam rawak yang unik.
Semakan akhir
Sebelum membandingkan hasil SHA-1 daripada penjana ini dengan hash lain, semak ruang tersembunyi, baris baharu di penghujung, perbezaan pengekodan aksara dan perubahan huruf besar atau kecil dalam input. Gunakan SHA-1 hanya apabila diperlukan oleh sistem sedia ada atau apabila rintangan perlanggaran bukan sebahagian daripada keperluan keselamatan. Untuk reka bentuk baharu, pilih hash semasa yang tahan perlanggaran bagi jumlah semak dipercayai, MAC berkunci untuk pengesahan mesej atau skim tandatangan digital yang sesuai.
Alat popular
Jana tandatangan tersuai anda sendiri dengan mudah dan muat turunnya dengan mudah.
Gunakan alat ping kami untuk menyemak status dan masa tindak balas mana-mana laman web, pelayan atau port dengan cepat dan cekap.
Alat carian IP Digily Link memberikan maklumat terperinci tentang mana-mana alamat IP. Gunakan perkhidmatan dalam talian percuma ini untuk mendapatkan data IP yang menyeluruh.
Jana pautan WhatsApp percuma anda serta-merta dengan Penjana Pautan WhatsApp kami. Tambah mesej tersuai dan mulakan sembang dengan satu klik, tanpa perlu log masuk atau menulis kod.