Přehled obsahu
- Co je hašování souborů MD5?
- Předpoklady pro generování hash souboru MD5 v JavaScriptu
- Jak vygenerovat hash souboru MD5 v JavaScriptu?
- Použité běžné metody pro generování hash souboru MD5 v Node.js
- Příklad 1: Generování hash souboru MD5 v JavaScriptu
- Příklad 2: Generování hash souboru MD5 a čtení souboru v JavaScriptu
- Alternativní přístup 1: Generování MD5 hash řetězce v JavaScriptu
- Alternativní přístup 2: Generování MD5 hash hesla v JavaScriptu
- Závěr
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í.