Bagaimana untuk Menjana Hash Fail MD5 dalam Node.js?

Bagaimana Untuk Menjana Hash Fail Md5 Dalam Node Js



' pencincangan MD5 ” memainkan peranan penting dalam melindungi data pembangun dengan mengekalkan integriti data. Oleh itu, Node.js “ kripto perpustakaan ' digunakan untuk mengira nilai cincang untuk fail, seperti ' MD5 ” untuk mengesahkan integriti penghantaran atau penyimpanan. Pendekatan ini membantu dalam mengesahkan pembangun tentang kelemahan atau gangguan fail, dengan itu memastikan data selamat.

Gambaran Keseluruhan Kandungan

Apakah itu MD5 File Hashing?

MD5 ” ialah fungsi sehala yang mengambil data dari sebarang jenis sebagai inputnya dan memetakannya kepada rentetan output bersaiz tetap, tanpa mengira saiz rentetan yang diberikan. Fungsi cincang mencipta cincang keluaran yang sama/sama untuk rentetan yang disediakan.

Oleh itu, rentetan ini boleh digunakan untuk mengesahkan fail atau teks apabila melalui rangkaian dan MD5 mengesahkan sama ada data itu sah atau tidak. Di bawah ialah demonstrasi:







Nilai Input Nilai Hash yang dikembalikan
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Prasyarat Untuk Menjana Hash Fail MD5 dalam JavaScript

Berikut adalah prasyarat yang perlu dipertimbangkan sebelum menghasilkan cincangan fail MD5:



Langkah 1: Sediakan Projek

Pertama sekali, mulakan projek dengan nilai lalai (melalui ' -dan ” flag) menggunakan cmdlet berikut:



npm init - dan





Petua Bonus: Buat ' template.cjs ” fail bukannya “ template.js ” fail untuk mengelakkan “ modul ” ralat jenis.

Langkah 2: Buat Fail Teks

Buat fail teks ' textfile.txt ” untuk menjana nilai cincang MD5 daripada kandungan fail. Berikut ialah kandungan fail yang akan dinilai:



Juga, ambil perhatian bahawa ' kripto ” modul akan diperlukan. Oleh kerana ia adalah modul terbina dalam Node.js, oleh itu, tidak perlu memasang atau mengkonfigurasinya. Di bawah ialah demonstrasi:

npm pasang crypto

Di sini, terbukti bahawa tidak perlu memasang modul ini secara berasingan.

Bagaimana untuk Menjana Hash Fail MD5 dalam Node.js?

Satu cincangan MD5 bagi fail boleh dijana dengan bantuan ' kripto ” modul dan kaedahnya seperti “ createHash() ” dan “ digest() ”. Modul ini menyediakan kaedah kriptografi untuk menjadikan data selamat dalam Node.js.

Kaedah Biasa Digunakan untuk Menjana Cincang Fail MD5 dalam Node.js

Berikut ialah kaedah yang biasa digunakan untuk menjana cincang md5 fail:

readFileSync(): Kaedah ini digunakan untuk membaca fail secara serentak.

Sintaks

fs. bacaFileSync ( pt, pilih )

Dalam sintaks yang diberikan:

  • pt ” merujuk kepada laluan relatif fail teks.
  • memilih ” ialah parameter pilihan yang terdiri daripada pengekodan dan bendera.

Nilai Pulangan

Ia mengambil kandungan fail.

createHash(): Kaedah ini mencipta objek cincang untuk mencipta ringkasan cincang.

Sintaks

kripto. createHash ( alg, pilih )

Dalam sintaks ini:

  • alg ” menunjukkan pergantungan pada algoritma boleh diakses yang digemari oleh versi OpenSSL.
  • memilih ” ialah parameter pilihan yang mengawal tingkah laku strim.

Nilai Pulangan

Ia mendapatkan semula objek Hash.

hash.digest(): Kaedah ini mencipta data ringkasan yang diluluskan semasa membuat cincang.

Sintaks

hash. hadam ( [ en ] )

Di sini, ' en ” menunjukkan jenis pengekodan yang boleh menjadi “ hex ” atau “ asas64 ”.

Nilai Pulangan

Ia mendapatkan semula rentetan pengekodan yang diluluskan.

Contoh 1: Menjana Hash Fail MD5 dalam Node.js

Contoh ini menjana cincang md5 kandungan fail menggunakan ' kripto ” dan “ fs ” modul:

const dapatkan1 = memerlukan ( 'crypto' ) ;

const dapat2 = memerlukan ( 'fs' ) ;

const readmd5 = dapat2. bacaFileSync ( 'textfile.txt' ) ;

const keluar = dapatkan1. createHash ( 'md5' ) . kemas kini ( readmd5 ) . hadam ( 'hex' ) ;

konsol. log ( 'MD5 Hash Fail -> ' + keluar ) ;

Penjelasan kod adalah seperti berikut:

  • Pertama, import ' kripto ” dan “ fs ” modul untuk menghasilkan cincang md5 dan berfungsi dengan fail, masing-masing.
  • Sekarang, gunakan ' readFileSync() ” kaedah untuk membaca fail yang ditentukan secara serentak.
  • Selepas itu, gunakan ' createHash() ” kaedah untuk mencipta objek cincang md5 merujuk kepada fail.
  • yang dinyatakan ' hex nilai ' sebagai ' digest() Parameter kaedah merujuk kepada jenis pengekodan.
  • Akhir sekali, dapatkan semula cincangan md5 bagi fail yang sepadan.

Pengeluaran

Jalankan cmdlet berikut untuk menjana cincang fail md5:

templat nod. cjs

Hasil ini menunjukkan bahawa cincangan md5 fail sasaran dikembalikan dengan sewajarnya.

Contoh 2: Menjana Hash Fail MD5 dan Membaca Fail dalam Node.js

Dalam demonstrasi ini, cincangan md5 fail boleh diambil bersama dengan membaca kandungan fail:

var termasuk1 = memerlukan ( 'fs' ) ;

adalah termasuk2 = memerlukan ( 'crypto' ) ;

var getHash = ( kandungan ) => {

var genHash = termasuk2. createHash ( 'md5' ) ;

data = genHash. kemas kini ( kandungan, 'utf-8' ) ;

keluar = data. hadam ( 'hex' ) ;

kembali keluar ;

}

var readFile = termasuk1. buatReadStream ( 'textfile.txt' ) ;

akaun limau = ''

readFile. pada ( 'data' , fungsi ( ketulan ) {

samb += ketulan ;

} ) ;

readFile. pada ( 'kesilapan' , fungsi ( silap ) {

konsol. log ( silap ) ;

} ) ;

readFile. pada ( 'akhir' ,fungsi ( ) {

kandungan var = getHash ( samb ) ;

konsol. log ( 'Kandungan Fail -> \n ' + samb ) ;

konsol. log ( 'MD5 Hash of a File -> ' + kandungan ) ;

} ) ;

Mengikut blok kod ini, lakukan langkah-langkah yang diberikan di bawah:

  • Begitu juga, sertakan modul yang dibincangkan.
  • Sekarang, hantar data untuk dicincang dengan mencipta objek cincang md5 dan nyatakan ' hex ” format.
  • Selepas itu, buat strim baca untuk membaca kandungan fail yang ditentukan.
  • Melangkah ke hadapan, baca kandungan fail dan hadapi ralat yang dihadapi, jika ada.
  • Akhir sekali, mohon ' getHash() ” kaedah untuk mengira cincang md5 kandungan fail.

Pengeluaran

Jalankan kod di bawah untuk mendapatkan semula cincang md5 kandungan fail:

templat nod. cjs

Daripada hasil ini, boleh tersirat bahawa kandungan fail bersama-sama cincang md5 fail dipaparkan dengan sewajarnya.

Pendekatan Ganti 1: Menjana Hash MD5 Rentetan dalam Node.js

Demonstrasi kod berikut menghasilkan cincangan md5 nilai rentetan:

adalah thong = 'Linux' ;

limau termasuk = memerlukan ( 'crypto' ) ;

var makeHash = termasuk. createHash ( 'md5' ) . kemas kini ( tali ) . hadam ( 'hex' ) ;

konsol. log ( 'MD5 Hash of a String -> ' + makeHash ) ;

Dalam kod ini:

  • Mulakan rentetan yang mana nilai cincang md5 akan diambil dan masukkan “ kripto ” modul.
  • Selepas itu, begitu juga, gunakan ' createHash() ” dan “ digest() ” kaedah untuk mencipta objek cincang dan mendapatkan semula rentetan berkenaan dengan jenis pengekodan yang diluluskan iaitu, “hex”.
  • Akhir sekali, kembalikan cincangan md5 rentetan yang ditentukan.

Pengeluaran

templat nod. cjs

Pendekatan Ganti 2: Menjana Hash MD5 Kata Laluan dalam Node.js

Dalam contoh ini, cincangan MD5 kata laluan boleh diambil sebaliknya:

adalah thong = '123*adQe&' ;

limau termasuk = memerlukan ( 'crypto' ) ;

var makeHash = termasuk. createHash ( 'md5' ) . kemas kini ( tali ) . hadam ( 'hex' ) ;

konsol. log ( 'MD5 Hash Kata Laluan -> ' + makeHash ) ;

Di sini, nyatakan kata laluan dan ulangi langkah yang dibincangkan untuk memasukkan ' kripto ' modul dan menggunakan gabungan ' kemas kini() ” dan “ digest() ” kaedah untuk menjana cincang md5 kata laluan.

Pengeluaran

Menjalankan cmdlet berikut menghasilkan cincangan md5 kata laluan:

templat nod. cjs

Kesimpulan

Cincang MD5 fail boleh dijana dengan memasang dan mengimport ' kripto ” modul dan menggunakan kaedahnya seperti “ createHash() ” dan “ digest() ” dan lain-lain. Selain itu, cincangan md5 bagi rentetan yang ditentukan atau kata laluan juga boleh dijana. Ini pada asasnya menjamin data dengan menyulitkannya berdasarkan format pengekodan yang diluluskan.