Com generar un hash de fitxers MD5 a Node.js?

Com Generar Un Hash De Fitxers Md5 A Node Js



El ' Hashing MD5 ” juga un paper vital per protegir les dades del desenvolupador mantenint la integritat de les dades. És tal que el Node.js ' cripto ” s'utilitza per calcular els valors hash dels fitxers, com ara “ MD5 ” per verificar la integritat de la transmissió o emmagatzematge. Aquest enfocament ajuda a confirmar el desenvolupador de les vulnerabilitats o la manipulació dels fitxers, mantenint així les dades segures.

Visió general dels continguts

Què és MD5 File Hashing?

MD5 ” és una funció unidireccional que pren les dades de qualsevol tipus com a entrada i les assigna a una cadena de sortida de mida fixa, independentment de la mida de la cadena donada. La funció hash crea el mateix/idèntic hash de sortida per a la cadena proporcionada.

És tal que aquesta cadena es pot utilitzar per validar fitxers o text en passar per la xarxa i MD5 verifica si les dades són vàlides o no. A continuació es mostra la demostració:







Valor d'entrada Valor hash retornat
JavaScript 686155af75a60a0f6e9d80c1f7edd3e9
Liam*88 c9c77fd293a9bb6d172e36a4a04053ea

Requisits previs per generar un hash de fitxer MD5 en JavaScript

Els següents són els requisits previs que cal tenir en compte abans de generar un hash de fitxer MD5:



Pas 1: Configura el projecte

En primer lloc, inicialitzeu el projecte amb els valors predeterminats (mitjançant el ' -i ” bandera) utilitzant el cmdlet següent:



npm init - i





Consell de bonificació: Crea un ' template.cjs ' en lloc del fitxer ' template.js ' per evitar el ' mòdul ” errors de tipus.

Pas 2: creeu un fitxer de text

Creeu el fitxer de text ' fitxer de text.txt ” per generar el valor hash MD5 a partir del contingut del fitxer. A continuació es mostra el contingut del fitxer a avaluar:



A més, tingueu en compte que el ' cripto Es requerirà un mòdul. Com que és un mòdul integrat de Node.js, per tant, no cal instal·lar-lo ni configurar-lo. A continuació es mostra la demostració:

npm instal·la cripto

Aquí, és evident que no cal instal·lar aquest mòdul per separat.

Com generar un hash de fitxers MD5 a Node.js?

Es pot generar un hash MD5 d'un fitxer amb l'ajuda del ' cripto ” mòdul i els seus mètodes com ara “ createHash() ' i ' digest () ”. Aquest mòdul proporciona els mètodes criptogràfics per garantir la seguretat de les dades a Node.js.

S'han utilitzat mètodes comuns per generar un hash de fitxers MD5 a Node.js

A continuació es mostren els mètodes que s'utilitzen habitualment per generar un hash md5 del fitxer:

readFileSync(): Aquest mètode s'utilitza per llegir els fitxers de manera sincrònica.

Sintaxi

fs. readFileSync ( pt, optar )

En la sintaxi donada:

  • pt ” fa referència al camí relatiu del fitxer de text.
  • optar ” és un paràmetre opcional que inclou la codificació i el senyalador.

Valor de retorn

Obté el contingut del fitxer.

createHash(): Aquest mètode crea un objecte hash per crear els resums hash.

Sintaxi

cripto. createHash ( alg, optar )

En aquesta sintaxi:

  • alg ” indica la dependència dels algorismes accessibles afavorit per la versió OpenSSL.
  • optar ” és un paràmetre opcional que controla el comportament del flux.

Valor de retorn

Recupera l'objecte Hash.

hash.digest(): Aquest mètode crea les dades del resum passat quan es crea un hash.

Sintaxi

haixix. digerir ( [ enc ] )

Aquí, ' enc ” indica el tipus de codificació que pot ser “ hex ' o ' base 64 ”.

Valor de retorn

Recupera la cadena de la codificació passada.

Exemple 1: generació d'un hash de fitxer MD5 a Node.js

Aquest exemple genera un hash md5 del contingut del fitxer utilitzant el ' cripto ' i ' fs ” mòduls:

const obtenir1 = requereixen ( 'criptografia' ) ;

const obtenir2 = requereixen ( 'fs' ) ;

const readmd5 = obtenir2. readFileSync ( 'textfile.txt' ) ;

const fora = obtenir1. createHash ( 'md5' ) . actualitzar ( readmd5 ) . digerir ( 'hexagonal' ) ;

consola. registre ( 'MD5 Hash d'un fitxer -> ' + fora ) ;

L'explicació del codi és la següent:

  • Primer, importeu el ' cripto ' i ' fs ” per generar un hash md5 i treballar amb fitxers, respectivament.
  • Ara, apliqueu el ' readFileSync() ” mètode per llegir el fitxer especificat de manera sincrònica.
  • Després d'això, apliqueu el ' createHash() ” per crear un objecte hash md5 referit al fitxer.
  • L'especificat ' hex ” valor com el “ digest () El paràmetre del mètode es refereix al tipus de codificació.
  • Finalment, recupera el hash md5 del fitxer corresponent.

Sortida

Executeu el cmdlet següent per generar un hash de fitxer md5:

plantilla de node. cjs

Aquest resultat implica que el hash md5 del fitxer de destinació es retorna adequadament.

Exemple 2: generació d'un hash de fitxer MD5 i lectura del fitxer a Node.js

En aquesta demostració, el hash md5 d'un fitxer es pot obtenir juntament amb la lectura del contingut del fitxer:

var incloure1 = requereixen ( 'fs' ) ;

estava inclòs 2 = requereixen ( 'criptografia' ) ;

var getHash = ( contingut ) => {

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

dades = genHash. actualitzar ( contingut, 'utf-8' ) ;

fora = dades. digerir ( 'hexagonal' ) ;

tornar fora ;

}

var readFile = incloure 1. createReadStream ( 'textfile.txt' ) ;

compte de calç = ''

readFile. activat ( 'dades' , funció ( tros ) {

cont += tros ;

} ) ;

readFile. activat ( 'error' , funció ( errar ) {

consola. registre ( errar ) ;

} ) ;

readFile. activat ( 'final' , funció ( ) {

var content = getHash ( cont ) ;

consola. registre ( 'Contingut del fitxer -> \n ' + cont ) ;

consola. registre ( 'MD5 Hash d'un fitxer -> ' + contingut ) ;

} ) ;

D'acord amb aquest bloc de codi, realitzeu els passos que s'indiquen a continuació:

  • Així mateix, incloure els mòduls comentats.
  • Ara, passeu les dades que s'hagin de calcular mitjançant la creació d'un objecte hash md5 i especificant el ' hexadecimal ” format.
  • Després d'això, creeu un flux de lectura per llegir el contingut del fitxer especificat.
  • Seguint endavant, llegiu el contingut del fitxer i feu front als errors que s'enfronten, si n'hi ha.
  • Finalment, invoqueu el ' getHash() ” mètode per calcular el hash md5 del contingut del fitxer.

Sortida

Executeu el codi següent per recuperar el hash md5 del contingut del fitxer:

plantilla de node. cjs

A partir d'aquest resultat, es pot donar a entendre que el contingut del fitxer juntament amb el hash md5 del fitxer es mostra correctament.

Enfocament alternatiu 1: generació de hash MD5 d'una cadena a Node.js

La demostració de codi següent genera un hash md5 d'un valor de cadena:

era tanga = 'Linux' ;

calç inclou = requereixen ( 'criptografia' ) ;

var makeHash = incloure. createHash ( 'md5' ) . actualitzar ( corda ) . digerir ( 'hexagonal' ) ;

consola. registre ( 'MD5 Hash d'una cadena -> ' + makeHash ) ;

En aquest codi:

  • Inicialitzar la cadena contra la qual s'ha de recuperar el valor hash md5 i incloure el ' cripto ” mòdul.
  • Després d'això, de la mateixa manera, apliqueu el ' createHash() ' i ' digest () ” mètodes per crear un objecte hash i recuperar la cadena respecte al tipus de codificació passat, és a dir, “hex”.
  • Finalment, retorneu el hash md5 de la cadena definida.

Sortida

plantilla de node. cjs

Enfocament alternatiu 2: generació de hash MD5 d'una contrasenya a Node.js

En aquest exemple, es pot obtenir el hash MD5 d'una contrasenya:

era tanga = '123*adQe&' ;

calç inclou = requereixen ( 'criptografia' ) ;

var makeHash = incloure. createHash ( 'md5' ) . actualitzar ( corda ) . digerir ( 'hexagonal' ) ;

consola. registre ( 'MD5 Hash d'una contrasenya -> ' + makeHash ) ;

Aquí, especifiqueu la contrasenya i repetiu els passos comentats per incloure el ' cripto ” i aplicant la combinació “ actualitzar () ' i ' digest () ” mètodes per generar un hash md5 de la contrasenya.

Sortida

L'execució del cmdlet següent genera el hash md5 de la contrasenya:

plantilla de node. cjs

Conclusió

El hash MD5 d'un fitxer es pot generar instal·lant i important el ' cripto ” i fent ús dels seus mètodes com “ createHash() ' i ' digest () ” etc. A més, també es pot generar el hash md5 d'una cadena definida o una contrasenya. Això bàsicament assegura les dades xifrant-les segons el format de codificació passat.