Hvordan generere en MD5-filhash i Node.js?

Hvordan Generere En Md5 Filhash I Node Js



« MD5 hashing ' spiller en viktig rolle i å sikre utviklerens data ved å opprettholde dataintegriteten. Det er slik at Node.js ' krypto '-biblioteket brukes til å beregne hash-verdiene for filene, for eksempel ' MD5 ' for å verifisere integriteten til overføringen eller lagringen. Denne tilnærmingen hjelper til med å bekrefte utvikleren av sårbarhetene eller tukling av filene, og dermed holde dataene sikre.

Innhold Oversikt

Hva er MD5 File Hashing?

' MD5 ” er en enveisfunksjon som tar data av enhver type som input og tilordner den til en utdatastreng med fast størrelse, uavhengig av størrelsen på den gitte strengen. Hash-funksjonen lager samme/identiske utdata-hash for den angitte strengen.

Det er slik at denne strengen kan brukes til å validere filer eller tekst ved passering over nettverket og MD5 verifiserer om dataene er gyldige eller ikke. Nedenfor er demonstrasjonen:







Inndataverdi Returnert Hash-verdi
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Forutsetninger for å generere en MD5-filhash i JavaScript

Følgende er forutsetningene som må vurderes før du genererer en MD5-filhash:



Trinn 1: Sett opp prosjektet

Først av alt, initialiser prosjektet med standardverdiene (via ' -og flagg) ved å bruke følgende cmdlet:



npm init - og





Bonustips: Lage en ' template.cjs '-filen i stedet for ' template.js '-filen for å unngå ' modul ' skrivefeil.

Trinn 2: Lag en tekstfil

Lag tekstfilen ' tekstfil.txt ' for å generere MD5-hash-verdien fra filinnholdet. Følgende er filinnholdet som skal evalueres:



Vær også oppmerksom på at ' krypto ”-modulen vil være nødvendig. Siden det er en innebygd modul av Node.js, er det derfor ikke nødvendig å installere eller konfigurere det. Nedenfor er demonstrasjonen:

npm installer krypto

Her er det tydelig at det ikke er nødvendig å installere denne modulen separat.

Hvordan generere en MD5-filhash i Node.js?

En MD5-hash av en fil kan genereres ved hjelp av ' krypto '-modulen og dens metoder som ' createHash() ' og ' fordøye() '. Denne modulen gir de kryptografiske metodene for å gjøre dataene sikre i Node.js.

Brukte vanlige metoder for å generere en MD5-filhash i Node.js

Følgende er metodene som vanligvis brukes for å generere en md5-hash av filen:

readFileSync(): Denne metoden brukes til å lese filene på en synkron måte.

Syntaks

fs. readFileSync ( pt, opt )

I den gitte syntaksen:

  • ' pt ' refererer til tekstfilens relative bane.
  • ' opt ” er en valgfri parameter som omfatter kodingen og flagget.

Returverdi

Den henter filens innhold.

createHash(): Denne metoden oppretter et hash-objekt for å lage hash-sammendragene.

Syntaks

krypto. oppretteHash ( alg, opt )

I denne syntaksen:

  • ' alg ” indikerer avhengigheten av tilgjengelige algoritmer foretrukket av OpenSSL-versjonen.
  • ' opt ” er en valgfri parameter som kontrollerer strømningsoppførselen.

Returverdi

Den henter Hash-objektet.

hash.digest(): Denne metoden oppretter sammendragets data som sendes når du oppretter en hash.

Syntaks

hasj. fordøye ( [ enc ] )

Her, ' enc ' indikerer kodingstypen som kan være ' hex ' eller ' base64 '.

Returverdi

Den henter strengen til den beståtte kodingen.

Eksempel 1: Generering av en MD5-filhash i Node.js

Dette eksemplet genererer en md5-hash av filinnholdet ved å bruke ' krypto ' og ' fs ' moduler:

konst få 1 = krever ( 'krypto' ) ;

konst få 2 = krever ( 'fs' ) ;

konst readmd5 = få 2. readFileSync ( 'tekstfil.txt' ) ;

konst ute = få 1. oppretteHash ( 'md5' ) . Oppdater ( readmd5 ) . fordøye ( 'hex' ) ;

konsoll. Logg ( 'MD5-hash av en fil -> ' + ute ) ;

Kodeforklaringen er som følger:

  • Først importerer du ' krypto ' og ' fs ”-moduler for å generere henholdsvis en md5-hash og jobbe med filer.
  • Bruk nå ' readFileSync() ”-metoden for å lese den angitte filen synkront.
  • Etter det bruker du ' createHash() ”-metoden for å lage et md5-hash-objekt som refererer til filen.
  • Den angitte ' hex 'verdi som ' fordøye() ”-metodens parameter refererer til kodingstypen.
  • Til slutt, hent md5-hashen til den tilsvarende filen.

Produksjon

Kjør følgende cmdlet for å generere en md5-filhash:

nodemal. cjs

Dette resultatet innebærer at md5-hashen til målfilen returneres på riktig måte.

Eksempel 2: Generering av en MD5-filhash og lesing av filen i Node.js

I denne demonstrasjonen kan md5-hashen til en fil hentes sammen med lesing av filinnholdet:

var inkluderer1 = krever ( 'fs' ) ;

var include2 = krever ( 'krypto' ) ;

var getHash = ( innhold ) => {

var genHash = inkludere2. oppretteHash ( 'md5' ) ;

data = genHash. Oppdater ( innhold, 'utf-8' ) ;

ute = data. fordøye ( 'hex' ) ;

komme tilbake ute ;

}

var readFile = inkluderer 1. oppretteReadStream ( 'tekstfil.txt' ) ;

kalkkonto = ''

lesefil. ( 'data' , funksjon ( klump ) {

forts += klump ;

} ) ;

lesefil. ( 'feil' , funksjon ( feil ) {

konsoll. Logg ( feil ) ;

} ) ;

lesefil. ( 'slutt' ,funksjon ( ) {

var innhold = getHash ( forts ) ;

konsoll. Logg ( 'Filinnhold -> \n ' + forts ) ;

konsoll. Logg ( 'MD5 Hash av en fil -> ' + innhold ) ;

} ) ;

I henhold til denne kodeblokken, utfør trinnene nedenfor:

  • Ta også med de diskuterte modulene.
  • Send nå dataene som skal hash ved å lage et md5-hash-objekt og spesifisere ' hex '-format.
  • Deretter oppretter du en lesestrøm for å lese den angitte filens innhold.
  • Gå videre, les filens innhold og takle eventuelle feil.
  • Til slutt påkaller du ' getHash() ”-metoden for å beregne md5-hashen til filinnholdet.

Produksjon

Kjør koden nedenfor for å hente md5-hashen til filens innhold:

nodemal. cjs

Fra dette resultatet kan det antydes at filens innhold sammen med md5-hashen til filen vises på riktig måte.

Alternativ tilnærming 1: Generering av MD5-hash av en streng i Node.js

Følgende kodedemonstrasjon genererer en md5-hash av en strengverdi:

var string = 'Linux' ;

kalk inkluderer = krever ( 'krypto' ) ;

var makeHash = inkludere. oppretteHash ( 'md5' ) . Oppdater ( streng ) . fordøye ( 'hex' ) ;

konsoll. Logg ( 'MD5 Hash of a String -> ' + lageHash ) ;

I denne koden:

  • Initialiser strengen som md5-hash-verdien skal hentes mot og ta med ' krypto ' modul.
  • Etter det bruker du også ' createHash() ' og ' fordøye() '-metoder for å lage et hash-objekt og hente strengen med hensyn til den beståtte kodingstypen, dvs. 'hex'.
  • Til slutt, returner md5-hashen til den definerte strengen.

Produksjon

nodemal. cjs

Alternativ tilnærming 2: Generering av MD5-hash for et passord i Node.js

I dette eksemplet kan MD5-hashen til et passord hentes i stedet:

var string = '123*adQe&' ;

kalk inkluderer = krever ( 'krypto' ) ;

var makeHash = inkludere. oppretteHash ( 'md5' ) . Oppdater ( streng ) . fordøye ( 'hex' ) ;

konsoll. Logg ( 'MD5-hash av et passord -> ' + lageHash ) ;

Her spesifiser passordet og gjenta de diskuterte trinnene for å inkludere ' krypto '-modulen og bruke den kombinerte ' Oppdater() ' og ' fordøye() ” metoder for å generere en md5-hash av passordet.

Produksjon

Å kjøre følgende cmdlet genererer md5-hashen til passordet:

nodemal. cjs

Konklusjon

MD5-hashen til en fil kan genereres ved å installere og importere ' krypto '-modulen og bruke metodene som ' createHash() ' og ' fordøye() ” osv. Dessuten kan md5-hashen til en definert streng eller et passord også genereres. Dette sikrer i utgangspunktet dataene ved å kryptere dem basert på det beståtte kodingsformatet.