Wie erstelle ich einen MD5-Datei-Hash in Node.js?

Wie Erstelle Ich Einen Md5 Datei Hash In Node Js



Der ' MD5-Hashing „spielt eine entscheidende Rolle bei der Sicherung der Daten des Entwicklers durch die Wahrung der Datenintegrität. Es ist so, dass die Node.js „ Krypto „Bibliothek wird verwendet, um die Hash-Werte für die Dateien zu berechnen, wie zum Beispiel „ MD5 ” um die Integrität der Übertragung oder Speicherung zu überprüfen. Dieser Ansatz hilft dabei, den Entwickler der Schwachstellen oder Manipulationen an den Dateien zu bestätigen und so die Sicherheit der Daten zu gewährleisten.

Inhaltsübersicht

Was ist MD5-Datei-Hashing?

MD5 „ ist eine Einwegfunktion, die Daten jeglichen Typs als Eingabe verwendet und sie einer Ausgabezeichenfolge fester Größe zuordnet, unabhängig von der Größe der angegebenen Zeichenfolge. Die Hash-Funktion erstellt den gleichen/identischen Ausgabe-Hash für die bereitgestellte Zeichenfolge.

Auf diese Weise kann diese Zeichenfolge zur Validierung von Dateien oder Texten bei der Übertragung über das Netzwerk verwendet werden, und MD5 überprüft, ob die Daten gültig sind oder nicht. Unten ist die Demonstration:







Eingegebener Wert Zurückgegebener Hash-Wert
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Voraussetzungen für die Generierung eines MD5-Datei-Hashs in JavaScript

Die folgenden Voraussetzungen müssen vor der Generierung eines MD5-Datei-Hashs berücksichtigt werden:



Schritt 1: Richten Sie das Projekt ein

Initialisieren Sie zunächst das Projekt mit den Standardwerten (über die Schaltfläche „ -Und ”-Flag) mit dem folgenden Cmdlet:



npm init - Und





Bonus-Tipp: Ein ... kreieren ' template.cjs ”-Datei anstelle der „ template.js ”-Datei, um das „ Modul ” Typfehler.

Schritt 2: Erstellen Sie eine Textdatei

Erstellen Sie die Textdatei „ textdatei.txt ” um den MD5-Hashwert aus dem Dateiinhalt zu generieren. Im Folgenden ist der auszuwertende Dateiinhalt aufgeführt:



Beachten Sie außerdem, dass „ Krypto ”-Modul wird benötigt. Da es sich um ein integriertes Modul von Node.js handelt, ist keine Installation oder Konfiguration erforderlich. Unten ist die Demonstration:

npm Krypto installieren

Hier wird deutlich, dass eine separate Installation dieses Moduls nicht erforderlich ist.

Wie erstelle ich einen MD5-Datei-Hash in Node.js?

Ein MD5-Hash einer Datei kann mit Hilfe des „ Krypto ”-Modul und seine Methoden wie „ createHash() ' Und ' verdauen() “. Dieses Modul stellt die kryptografischen Methoden bereit, um die Daten in Node.js sicher zu machen.

Verwendete gängige Methoden zum Generieren eines MD5-Datei-Hashs in Node.js

Im Folgenden sind die Methoden aufgeführt, die üblicherweise zum Generieren eines MD5-Hashs der Datei verwendet werden:

readFileSync(): Mit dieser Methode werden die Dateien synchron gelesen.

Syntax

fs. readFileSync ( pt, opt )

In der angegebenen Syntax:

  • pt „bezieht sich auf den relativen Pfad der Textdatei.
  • opt „ ist ein optionaler Parameter, der die Codierung und das Flag umfasst.

Rückgabewert

Es ruft den Inhalt der Datei ab.

createHash(): Diese Methode erstellt ein Hash-Objekt, um die Hash-Digests zu erstellen.

Syntax

Krypto. createHash ( alg, opt )

In dieser Syntax:

  • alg „zeigt die Abhängigkeit von zugänglichen Algorithmen an, die von der OpenSSL-Version bevorzugt werden.
  • opt „ ist ein optionaler Parameter, der das Stream-Verhalten steuert.

Rückgabewert

Es ruft das Hash-Objekt ab.

hash.digest(): Diese Methode erstellt die Daten des Digests, die beim Erstellen eines Hashs übergeben werden.

Syntax

Hash. verdauen ( [ enc ] )

Hier, ' enc „gibt den Kodierungstyp an, der sein kann“ verhexen ' oder ' base64 “.

Rückgabewert

Es ruft die Zeichenfolge der übergebenen Kodierung ab.

Beispiel 1: Generieren eines MD5-Datei-Hashs in Node.js

In diesem Beispiel wird ein MD5-Hash des Dateiinhalts mithilfe von „ generiert. Krypto ' Und ' fs ” Module:

const get1 = erfordern ( „Krypto“ ) ;

const get2 = erfordern ( „fs“ ) ;

const readmd5 = get2. readFileSync ( „textdatei.txt“ ) ;

const aus = get1. createHash ( „md5“ ) . aktualisieren ( readmd5 ) . verdauen ( 'verhexen' ) ;

Konsole. Protokoll ( „MD5-Hash einer Datei ->“ + aus ) ;

Die Code-Erklärung lautet wie folgt:

  • Importieren Sie zunächst „ Krypto ' Und ' fs ”-Module zum Generieren eines MD5-Hashs bzw. zum Arbeiten mit Dateien.
  • Wenden Sie nun das „ readFileSync() ”-Methode zum synchronen Lesen der angegebenen Datei.
  • Wenden Sie danach das „ createHash() ”-Methode zum Erstellen eines MD5-Hash-Objekts, das auf die Datei verweist.
  • Die angegebene „ verhexen ” Wert als „ verdauen() Der Parameter der Methode bezieht sich auf den Kodierungstyp.
  • Rufen Sie abschließend den MD5-Hash der entsprechenden Datei ab.

Ausgabe

Führen Sie das folgende Cmdlet aus, um einen MD5-Datei-Hash zu generieren:

Knotenvorlage. cjs

Dieses Ergebnis impliziert, dass der MD5-Hash der Zieldatei ordnungsgemäß zurückgegeben wird.

Beispiel 2: Generieren eines MD5-Datei-Hashs und Lesen der Datei in Node.js

In dieser Demonstration kann der MD5-Hash einer Datei zusammen mit dem Lesen des Dateiinhalts abgerufen werden:

var include1 = erfordern ( 'fs' ) ;

war include2 = erfordern ( 'Krypto' ) ;

var getHash = ( Inhalt ) => {

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

Daten = genHash. aktualisieren ( Inhalt, 'utf-8' ) ;

aus = Daten. verdauen ( 'verhexen' ) ;

zurückkehren aus ;

}

var readFile = include1. createReadStream ( 'textdatei.txt' ) ;

Lime-Konto = ''

readFile. An ( 'Daten' , Funktion ( Brocken ) {

Fortsetzung += Brocken ;

} ) ;

readFile. An ( 'Fehler' , Funktion ( irren ) {

Konsole. Protokoll ( irren ) ;

} ) ;

readFile. An ( 'Ende' ,Funktion ( ) {

Var-Inhalt = getHash ( Fortsetzung ) ;

Konsole. Protokoll ( 'Dateiinhalt -> \N ' + Fortsetzung ) ;

Konsole. Protokoll ( 'MD5-Hash einer Datei ->' + Inhalt ) ;

} ) ;

Führen Sie gemäß diesem Codeblock die folgenden Schritte aus:

  • Beziehen Sie ebenfalls die besprochenen Module mit ein.
  • Übergeben Sie nun die zu hashenden Daten, indem Sie ein MD5-Hash-Objekt erstellen und „ verhexen ' Format.
  • Erstellen Sie anschließend einen Lesestream, um den Inhalt der angegebenen Datei zu lesen.
  • Lesen Sie im weiteren Verlauf den Inhalt der Datei und beheben Sie gegebenenfalls die aufgetretenen Fehler.
  • Rufen Sie abschließend die „ getHash() ”-Methode zur Berechnung des MD5-Hashs des Dateiinhalts.

Ausgabe

Führen Sie den folgenden Code aus, um den MD5-Hash des Dateiinhalts abzurufen:

Knotenvorlage. cjs

Aus diesem Ergebnis kann geschlossen werden, dass der Inhalt der Datei zusammen mit dem MD5-Hash der Datei ordnungsgemäß angezeigt wird.

Alternativer Ansatz 1: MD5-Hash eines Strings in Node.js generieren

Die folgende Codedemonstration generiert einen MD5-Hash eines Zeichenfolgenwerts:

war Tanga = 'Linux' ;

Kalk beinhaltet = erfordern ( 'Krypto' ) ;

var makeHash = enthalten. createHash ( 'md5' ) . aktualisieren ( Zeichenfolge ) . verdauen ( 'verhexen' ) ;

Konsole. Protokoll ( „MD5-Hash eines Strings ->“ + makeHash ) ;

In diesem Code:

  • Initialisieren Sie die Zeichenfolge, anhand derer der MD5-Hashwert abgerufen werden soll, und fügen Sie „ Krypto ” Modul.
  • Wenden Sie danach ebenfalls das „ createHash() ' Und ' verdauen() ”-Methoden zum Erstellen eines Hash-Objekts und zum Abrufen der Zeichenfolge in Bezug auf den übergebenen Kodierungstyp, d. h. „hex“.
  • Geben Sie abschließend den MD5-Hash der definierten Zeichenfolge zurück.

Ausgabe

Knotenvorlage. cjs

Alternativer Ansatz 2: Generieren eines MD5-Hash eines Passworts in Node.js

In diesem Beispiel kann stattdessen der MD5-Hash eines Passworts abgerufen werden:

war Tanga = '123*adQe&' ;

Kalk beinhaltet = erfordern ( 'Krypto' ) ;

var makeHash = enthalten. createHash ( 'md5' ) . aktualisieren ( Zeichenfolge ) . verdauen ( 'verhexen' ) ;

Konsole. Protokoll ( „MD5-Hash eines Passworts ->“ + makeHash ) ;

Geben Sie hier das Passwort an und wiederholen Sie die besprochenen Schritte zum Einfügen des „ Krypto ” Modul und Anwendung der kombinierten „ aktualisieren() ' Und ' verdauen() ”-Methoden zum Generieren eines MD5-Hashs des Passworts.

Ausgabe

Durch Ausführen des folgenden Cmdlets wird der MD5-Hash des Kennworts generiert:

Knotenvorlage. cjs

Abschluss

Der MD5-Hash einer Datei kann durch die Installation und den Import des „ Krypto ” Modul und Nutzung seiner Methoden wie „ createHash() ' Und ' verdauen() ” usw. Darüber hinaus kann auch der MD5-Hash einer definierten Zeichenfolge oder eines Passworts generiert werden. Dadurch werden die Daten grundsätzlich gesichert, indem sie basierend auf dem übergebenen Verschlüsselungsformat verschlüsselt werden.