Laman » bagaimana untuk » Apakah MD5, SHA-1, dan SHA-256 Hashes, dan Bagaimana saya Semak Mereka?

    Apakah MD5, SHA-1, dan SHA-256 Hashes, dan Bagaimana saya Semak Mereka?

    Anda kadang-kadang akan melihat hash MD5, SHA-1, atau SHA-256 yang dipaparkan bersama-sama dengan muat turun semasa perjalanan internet anda, tetapi tidak benar-benar mengetahui apa yang mereka ada. Struktur teks seolah-olah rawak membolehkan anda mengesahkan fail yang anda muat turun tidak rosak atau diganggu. Anda boleh melakukan ini dengan arahan yang dibina ke dalam Windows, macOS, dan Linux.

    Bagaimana Hashes Work, dan Bagaimana Mereka Digunakan untuk Pengesahan Data

    Hashes adalah produk algoritma kriptografi yang direka untuk menghasilkan rentetan aksara. Selalunya rentetan ini mempunyai panjang tetap, tanpa mengira saiz data input. Lihatlah carta di atas dan anda akan melihat bahawa kedua-dua "Fox" dan "Rubah merah melompat ke atas anjing biru" menghasilkan output panjang yang sama.

    Sekarang bandingkan contoh kedua dalam carta untuk ketiga, keempat, dan kelima. Anda akan melihatnya, walaupun terdapat perubahan kecil dalam data input, hash yang terhasil semuanya sangat berbeza antara satu sama lain. Walaupun seseorang mengubah sebahagian data input yang sangat kecil, hash akan berubah secara dramatik.

    MD5, SHA-1, dan SHA-256 adalah semua fungsi hash yang berbeza. Pencipta perisian seringkali mengambil file-seperti fail Linux .iso, atau bahkan file Windows -exe-dan jalankannya melalui fungsi hash. Mereka kemudian menawarkan senarai rasmi hash di laman web mereka.

    Dengan cara itu, anda boleh memuat turun fail dan kemudian menjalankan fungsi hash untuk mengesahkan anda mempunyai fail asli, asli dan ia tidak rosak semasa proses muat turun. Seperti yang kita lihat di atas, walaupun sedikit perubahan pada fail akan mengubah hash secara dramatik.

    Ini juga boleh berguna sekiranya anda mempunyai fail yang anda dapat dari sumber tidak rasmi dan anda mahu mengesahkan bahawa ia adalah sah. Katakan anda mempunyai Linux. Fail ISO anda mendapat dari suatu tempat dan anda mahu mengesahkan ia tidak diganggu. Anda boleh melihat hash fail ISO spesifik dalam talian di laman web pengedaran Linux. Anda kemudiannya boleh menjalankannya melalui fungsi hash pada komputer anda dan mengesahkan bahawa ia sepadan dengan nilai hash yang anda harapkan. Ini mengesahkan fail yang anda ada adalah fail yang sama yang ditawarkan untuk dimuat turun di laman web pengedaran Linux tanpa sebarang pengubahsuaian.

    Perhatikan bahawa "perlanggaran" telah dijumpai dengan fungsi MD5 dan SHA-1. Ini adalah pelbagai fail berbeza-contohnya, fail selamat dan fail berniat jahat-yang mengakibatkan hash MD5 atau SHA-1 yang sama. Itulah sebabnya anda lebih suka SHA-256 apabila mungkin.

    Bagaimana Membandingkan Fungsi Hash pada Mana-mana Sistem Pengendalian

    Dengan itu, mari kita lihat cara menyemak hash fail yang anda muat turun, dan bandingkannya dengan yang anda berikan. Berikut adalah kaedah untuk Windows, macOS, dan Linux. Hash akan selalu sama jika anda menggunakan fungsi hash yang sama pada fail yang sama. Tidak kira sistem pengendalian yang anda gunakan.

    Windows

    Proses ini mungkin tanpa sebarang perisian pihak ketiga pada Windows terima kasih kepada PowerShell.

    Untuk memulakan, buka tetingkap PowerShell dengan melancarkan pintasan "Windows PowerShell" dalam menu Mula anda.

    Jalankan arahan berikut, menggantikan "C: \ path \ to \ file.iso" dengan jalan ke mana-mana fail yang anda mahu lihat hash:

    Get-FileHash C: \ path \ to \ file.iso

    Ia akan mengambil sedikit masa untuk menjana hash fail, bergantung pada saiz fail, algoritma yang anda gunakan, dan kelajuan pemacu fail dihidupkan.

    Secara lalai, arahan itu akan menunjukkan hash SHA-256 untuk fail. Walau bagaimanapun, anda boleh menentukan algoritma hashing yang anda mahu gunakan jika anda memerlukan MD5, SHA-1, atau jenis hash jenis lain.

    Jalankan salah satu arahan berikut untuk menentukan algoritma hashing yang berbeza:

    Get-FileHash C: \ path \ to \ file.iso -Agorgorithm MD5
    Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA1
    Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA256
    Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA384
    Get-FileHash C: \ path \ to \ file.iso -Algorithm SHA512
    Get-FileHash C: \ path \ to \ file.iso -Algorithm MACTripleDES
    Get-FileHash C: \ path \ to \ file.iso -Algorithm RIPEMD160

    Bandingkan hasil fungsi hash dengan hasil yang anda harapkan. Jika nilai yang sama, fail tersebut tidak rosak, diganggu, atau diubah dari asal.

    macOS

    macOS merangkumi arahan untuk melihat pelbagai jenis hash. Untuk mengaksesnya, lancarkan tetingkap Terminal. Anda akan dapati di Finder> Aplikasi> Utiliti> Terminal.

    The md5 arahan menunjukkan hash MD5 fail:

    md5 / path / to / file

    The shasum arahan menunjukkan hash SHA-1 fail secara lalai. Ini bermakna arahan berikut adalah serupa:

    shasum / path / to / file
    shasum -a 1 / path / to / file

    Untuk menunjukkan hash SHA-256 fail, jalankan perintah berikut:

    shasum -a 256 / path / to / file

    Linux

    Di Linux, akses Terminal dan jalankan salah satu arahan berikut untuk melihat hash untuk fail, bergantung pada jenis hash yang anda mahu lihat:

    md5sum / path / to / file
    sha1sum / path / to / file
    sha256sum / path / to / file

    Sesetengah Hashes adalah Cryptographically Signed for Even More Security

    Walaupun hash boleh membantu anda mengesahkan fail tidak diganggu, masih ada satu jalan serangan di sini. Seorang penyerang boleh menguasai laman web pengedaran Linux dan mengubah suai hash yang muncul di atasnya, atau seorang penyerang dapat melakukan serangan orang-dalam-tengah dan mengubah halaman web dalam transit jika anda mengakses laman web melalui HTTP dan bukannya HTTPS yang disulitkan.

    Itulah sebabnya pengedaran Linux moden sering memberi lebih banyak daripada hash yang disenaraikan di laman web. Mereka cryptographically menandatangani hash ini untuk membantu melindungi daripada penyerang yang mungkin cuba mengubah suai hash. Anda ingin mengesahkan tandatangan kriptografi untuk memastikan fail hash sebenarnya ditandatangani oleh pengedaran Linux jika anda ingin benar-benar pasti hash dan fail tidak diganggu.

    Mengesahkan tandatangan kriptografi adalah proses yang lebih terlibat. Baca panduan kami untuk mengesahkan ISO Linux tidak diganggu dengan arahan penuh.

    Kredit Imej: Jorge Stolfi / Wikimedia