Jak vygenerovat hash souboru MD5 v Node.js?

Jak Vygenerovat Hash Souboru Md5 V Node Js



' MD5 hašování ” hraje zásadní roli při zabezpečení vývojářských dat udržováním integrity dat. Je to takové, že soubor Node.js „ krypto ” knihovna se používá k výpočtu hodnot hash pro soubory, jako je např. MD5 ” pro ověření integrity přenosu nebo úložiště. Tento přístup pomáhá potvrdit vývojáře zranitelností nebo neoprávněné manipulace se soubory, čímž udržuje data v bezpečí.

Přehled obsahu

Co je hašování souborů MD5?

MD5 “ je jednosměrná funkce, která přijímá data libovolného typu jako svůj vstup a mapuje je na výstupní řetězec pevné velikosti, bez ohledu na velikost daného řetězce. Funkce hash vytvoří stejný/identický výstupní hash pro zadaný řetězec.

Je to takové, že tento řetězec lze použít k ověření souborů nebo textu při průchodu sítí a MD5 ověří, zda jsou data platná nebo ne. Níže je ukázka:







Vstupní hodnota Vrácená hodnota hash
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Předpoklady pro generování hash souboru MD5 v JavaScriptu

Před vygenerováním hash souboru MD5 je třeba zvážit následující předpoklady:



Krok 1: Nastavte projekt

Nejprve inicializujte projekt s výchozími hodnotami (prostřednictvím „ -a příznak ”) pomocí následující rutiny:



npm init - a





Bonusový tip: Vytvořit ' šablona.cjs “ místo souboru “ template.js ', abyste se vyhnuli ' modul chyby typu “.

Krok 2: Vytvořte textový soubor

Vytvořte textový soubor ' textový soubor.txt ” pro vygenerování hodnoty hash MD5 z obsahu souboru. Níže je uveden obsah souboru, který má být vyhodnocen:



Všimněte si také, že „ krypto “ bude vyžadován modul. Protože se jedná o vestavěný modul Node.js, není třeba jej instalovat ani konfigurovat. Níže je ukázka:

npm nainstalovat krypto

Zde je zřejmé, že není potřeba tento modul instalovat samostatně.

Jak vygenerovat hash souboru MD5 v Node.js?

MD5 hash souboru lze vygenerovat pomocí „ krypto “ modul a jeho metody jako “ createHash() ' a ' strávit() “. Tento modul poskytuje kryptografické metody k zabezpečení dat v Node.js.

Použité běžné metody pro generování hash souboru MD5 v Node.js

Níže jsou uvedeny metody běžně používané ke generování md5 hash souboru:

readFileSync(): Tato metoda se používá ke čtení souborů synchronním způsobem.

Syntax

fs. readFileSync ( pt, opt )

V dané syntaxi:

  • pt “ odkazuje na relativní cestu textového souboru.
  • opt ” je volitelný parametr, který obsahuje kódování a příznak.

Návratová hodnota

Načte obsah souboru.

createHash(): Tato metoda vytvoří hash objekt pro vytvoření hash digest.

Syntax

krypto. createHash ( alg, opt )

V této syntaxi:

  • alg ” označuje závislost na přístupných algoritmech preferovaných verzí OpenSSL.
  • opt ” je volitelný parametr, který řídí chování streamu.

Návratová hodnota

Načte objekt hash.

hash.digest(): Tato metoda vytvoří data digestu předaná při vytváření hash.

Syntax

hash. strávit ( [ enc ] )

Tady, ' enc “ označuje typ kódování, který může být “ hex “ nebo „ základ 64 “.

Návratová hodnota

Načte řetězec předávaného kódování.

Příklad 1: Generování hash souboru MD5 v Node.js

Tento příklad vygeneruje md5 hash obsahu souboru pomocí „ krypto ' a ' fs “moduly:

konst získat 1 = vyžadovat ( 'krypto' ) ;

konst získat 2 = vyžadovat ( 'fs' ) ;

konst readmd5 = získat 2. readFileSync ( 'textfile.txt' ) ;

konst ven = získat 1. createHash ( 'md5' ) . Aktualizace ( readmd5 ) . strávit ( 'hexadecimální' ) ;

řídicí panel. log ( 'MD5 Hash souboru ->' + ven ) ;

Vysvětlení kódu je následující:

  • Nejprve importujte „ krypto ' a ' fs ” moduly pro generování hash md5 a práci se soubory, resp.
  • Nyní použijte „ readFileSync() ” pro synchronní čtení zadaného souboru.
  • Poté použijte „ createHash() ” metoda k vytvoření objektu hash md5 odkazujícího na soubor.
  • Zadané „ hex “hodnota jako “ strávit() Parametr metody odkazuje na typ kódování.
  • Nakonec načtěte md5 hash odpovídajícího souboru.

Výstup

Chcete-li vygenerovat hash souboru md5, spusťte následující rutinu:

šablona uzlu. cjs

Tento výsledek znamená, že md5 hash cílového souboru je vrácen správně.

Příklad 2: Generování hash souboru MD5 a čtení souboru v Node.js

V této ukázce může být md5 hash souboru načten spolu se čtením obsahu souboru:

var include1 = vyžadovat ( 'fs' ) ;

byl zahrnut 2 = vyžadovat ( 'crypto' ) ;

var getHash = ( obsah ) => {

var genHash = zahrnout 2. createHash ( 'md5' ) ;

data = genHash. Aktualizace ( obsah, 'utf-8' ) ;

ven = data. strávit ( 'hexadecimální' ) ;

vrátit se ven ;

}

var readFile = zahrnout1. vytvořitReadStream ( 'textfile.txt' ) ;

vápenný účet = ''

readFile. na ( 'data' , funkce ( kus ) {

pokračování += kus ;

} ) ;

readFile. na ( 'chyba' , funkce ( chybovat ) {

řídicí panel. log ( chybovat ) ;

} ) ;

readFile. na ( 'konec' ,funkce ( ) {

obsah var = getHash ( pokračování ) ;

řídicí panel. log ( 'Obsah souboru -> \n ' + pokračování ) ;

řídicí panel. log ( 'MD5 Hash souboru -> ' + obsah ) ;

} ) ;

Podle tohoto bloku kódu proveďte níže uvedené kroky:

  • Stejně tak zahrňte diskutované moduly.
  • Nyní předejte data, která mají být hašována, vytvořením objektu hash md5 a zadáním „ hex ' formát.
  • Poté vytvořte čtený stream pro čtení obsahu zadaného souboru.
  • Vpřed si přečtěte obsah souboru a vypořádejte se s případnými chybami.
  • Nakonec vyvolejte „ getHash() ” metoda pro výpočet md5 hash obsahu souboru.

Výstup

Spusťte níže uvedený kód a načtěte md5 hash obsahu souboru:

šablona uzlu. cjs

Z tohoto výsledku lze předpokládat, že obsah souboru spolu s hash md5 souboru se zobrazí správně.

Alternativní přístup 1: Generování MD5 hash řetězce v Node.js

Následující ukázka kódu generuje md5 hash hodnoty řetězce:

byla tanga = 'Linux' ;

vápno zahrnuje = vyžadovat ( 'crypto' ) ;

var makeHash = zahrnout. createHash ( 'md5' ) . Aktualizace ( tětiva ) . strávit ( 'hexadecimální' ) ;

řídicí panel. log ( 'MD5 Hash řetězce ->' + makeHash ) ;

V tomto kódu:

  • Inicializujte řetězec, proti kterému má být hodnota hash md5 načtena, a zahrňte „ krypto “modul.
  • Poté rovněž použijte „ createHash() ' a ' strávit() ” metody k vytvoření objektu hash a načtení řetězce s ohledem na předaný typ kódování, tj. „hex“.
  • Nakonec vraťte md5 hash definovaného řetězce.

Výstup

šablona uzlu. cjs

Alternativní přístup 2: Generování MD5 hash hesla v Node.js

V tomto příkladu lze místo toho načíst MD5 hash hesla:

byla tanga = '123*adQe&' ;

vápno zahrnuje = vyžadovat ( 'crypto' ) ;

var makeHash = zahrnout. createHash ( 'md5' ) . Aktualizace ( tětiva ) . strávit ( 'hexadecimální' ) ;

řídicí panel. log ( 'MD5 hash hesla ->' + makeHash ) ;

Zde zadejte heslo a opakujte diskutované kroky pro zahrnutí „ krypto “ modul a použití kombinovaného “ Aktualizace() ' a ' strávit() ” metody pro vygenerování md5 hash hesla.

Výstup

Spuštěním následující rutiny se vygeneruje hash md5 hesla:

šablona uzlu. cjs

Závěr

MD5 hash souboru lze vygenerovat instalací a importem souboru „ krypto “ modul a využití jeho metod jako “ createHash() ' a ' strávit() ” atd. Navíc lze také vygenerovat md5 hash definovaného řetězce nebo hesla. To v podstatě zajišťuje data šifrováním na základě předávaného formátu kódování.