Innhold Oversikt
- Hva er MD5 File Hashing?
- Forutsetninger for å generere en MD5-filhash i JavaScript
- Hvordan generere en MD5-filhash i JavaScript?
- Brukte vanlige metoder for å generere en MD5-filhash i Node.js
- Eksempel 1: Generering av en MD5-filhash i JavaScript
- Eksempel 2: Generering av en MD5-filhash og lesing av filen i JavaScript
- Alternativ tilnærming 1: Generering av MD5-hash av en streng i JavaScript
- Alternativ tilnærming 2: Generering av MD5-hash av et passord i JavaScript
- Konklusjon
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. på ( 'data' , funksjon ( klump ) {
forts += klump ;
} ) ;
lesefil. på ( 'feil' , funksjon ( feil ) {
konsoll. Logg ( feil ) ;
} ) ;
lesefil. på ( '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.