Panoramica dei contenuti
- Che cos'è l'hashing dei file MD5?
- Prerequisiti per generare un file hash MD5 in JavaScript
- Come generare un file hash MD5 in JavaScript?
- Metodi comuni utilizzati per generare un file hash MD5 in Node.js
- Esempio 1: generazione di un file hash MD5 in JavaScript
- Esempio 2: generazione di un hash di file MD5 e lettura del file in JavaScript
- Approccio alternativo 1: generazione dell'hash MD5 di una stringa in JavaScript
- Approccio alternativo 2: generazione dell'hash MD5 di una password in JavaScript
- Conclusione
Che cos'è l'hashing dei file MD5?
“ MD5 ' è una funzione unidirezionale che accetta dati di qualsiasi tipo come input e li mappa su una stringa di output di dimensione fissa, indipendentemente dalla dimensione della stringa specificata. La funzione hash crea lo stesso/identico hash di output per la stringa fornita.
È tale che questa stringa può essere utilizzata per convalidare file o testo al momento del passaggio attraverso la rete e MD5 verifica se i dati sono validi o meno. Di seguito la dimostrazione:
Valore immesso | Valore hash restituito |
JavaScript | 686155af75a60a0f6e9d80c1f7edd3e9 |
Liam*88 | c9c77fd293a9bb6d172e36a4a04053ea |
Prerequisiti per generare un file hash MD5 in JavaScript
Di seguito sono riportati i prerequisiti da considerare prima di generare un file hash MD5:
Passaggio 1: impostare il progetto
Innanzitutto inizializzare il progetto con i valori di default(tramite il pulsante “ -E ' flag) utilizzando il seguente cmdlet:
npm init - E
Suggerimento bonus: Creare un ' modello.cjs ' al posto del ' template.js ' file per evitare il ' modulo ' errori di tipo.
Passaggio 2: crea un file di testo
Crea il file di testo “ filetesto.txt ' per generare il valore hash MD5 dal contenuto del file. Di seguito è riportato il contenuto del file da valutare:
Inoltre, si noti che il “ criptovaluta ' sarà richiesto il modulo. Trattandosi di un modulo integrato di Node.js, quindi, non è necessario installarlo o configurarlo. Di seguito la dimostrazione:
npm installa la crittografia
Qui è evidente che non è necessario installare questo modulo separatamente.
Come generare un file hash MD5 in Node.js?
Un hash MD5 di un file può essere generato con l'aiuto del comando ' criptovaluta ' e i suoi metodi come ' createHash() ' E ' digerire() ”. Questo modulo fornisce i metodi crittografici per rendere sicuri i dati in Node.js.
Metodi comuni utilizzati per generare un file hash MD5 in Node.js
Di seguito sono riportati i metodi comunemente utilizzati per generare un hash md5 del file:
leggiFileSync(): Questo metodo viene utilizzato per leggere i file in modo sincrono.
Sintassi
fs. leggereFileSync ( pt, opz )Nella sintassi data:
- “ punto ' si riferisce al percorso relativo del file di testo.
- “ optare ' è un parametro opzionale che comprende la codifica e il flag.
Valore di ritorno
Recupera il contenuto del file.
createHash(): Questo metodo crea un oggetto hash per creare i digest hash.
Sintassi
criptovaluta. createHash ( alg, opt )In questa sintassi:
- “ alg ' indica la dipendenza dagli algoritmi accessibili favoriti dalla versione OpenSSL.
- “ optare ' è un parametro facoltativo che controlla il comportamento del flusso.
Valore di ritorno
Recupera l'oggetto Hash.
hash.digest(): Questo metodo crea i dati del digest passati durante la creazione di un hash.
Sintassi
hash. digerire ( [ inc ] )Qui, ' inc ” indica il tipo di codifica che può essere “ esadecimale ' O ' base64 ”.
Valore di ritorno
Recupera la stringa della codifica passata.
Esempio 1: generazione di un file hash MD5 in Node.js
Questo esempio genera un hash md5 del contenuto del file utilizzando il metodo ' criptovaluta ' E ' fs ' moduli:
cost prendi1 = richiedere ( 'cripto' ) ;cost get2 = richiedere ( 'fs' ) ;
cost readmd5 = get2. leggereFileSync ( 'filetesto.txt' ) ;
cost fuori = prendi1. createHash ( 'md5' ) . aggiornamento ( readmd5 ) . digerire ( 'esadecimale' ) ;
consolle. tronco d'albero ( 'Hash MD5 di un file -> ' + fuori ) ;
La spiegazione del codice è la seguente:
- Innanzitutto, importa il ' criptovaluta ' E ' fs ' moduli per generare un hash md5 e lavorare con i file, rispettivamente.
- Ora applica il ' leggiFileSync() ' per leggere il file specificato in modo sincrono.
- Successivamente, applicare il ' createHash() ” per creare un oggetto hash md5 riferito al file.
- Il ' esadecimale ' valore come ' digerire() Il parametro del metodo si riferisce al tipo di codifica.
- Infine, recupera l'hash md5 del file corrispondente.
Produzione
Esegui il cmdlet seguente per generare un hash del file md5:
modello di nodo. cj
Questo risultato implica che l'hash md5 del file di destinazione venga restituito in modo appropriato.
Esempio 2: generazione di un hash di file MD5 e lettura del file in Node.js
In questa dimostrazione, l'hash md5 di un file può essere recuperato insieme alla lettura del contenuto del file:
var include1 = richiedere ( 'fs' ) ;era incluso2 = richiedere ( 'cripto' ) ;
var getHash = ( contenuto ) => {
var genHash = includere2. createHash ( 'md5' ) ;
dati = genHash. aggiornamento ( contenuto, 'utf-8' ) ;
fuori = dati. digerire ( 'esadecimale' ) ;
ritorno fuori ;
}
var readFile = includere1. creareReadStream ( 'filetesto.txt' ) ;
conto calce = ''
leggiFile. SU ( 'dati' , funzione ( pezzo ) {
continua += pezzo ;
} ) ;
leggiFile. SU ( 'errore' , funzione ( errare ) {
consolle. tronco d'albero ( errare ) ;
} ) ;
leggiFile. SU ( 'FINE' ,funzione ( ) {
contenuto var = getHash ( continua ) ;
consolle. tronco d'albero ( 'Contenuto del file -> \N ' + continua ) ;
consolle. tronco d'albero ( 'Hash MD5 di un file -> ' + contenuto ) ;
} ) ;
Secondo questo blocco di codice, eseguire i passaggi indicati di seguito:
- Allo stesso modo, includere i moduli discussi.
- Ora, passa i dati da sottoporre ad hashing creando un oggetto hash md5 e specificando il ' esadecimale ' formato.
- Successivamente, crea un flusso di lettura per leggere il contenuto del file specificato.
- Andando avanti, leggi il contenuto del file e gestisci gli eventuali errori riscontrati.
- Infine, invoca il “ getHash() ' per calcolare l'hash md5 del contenuto del file.
Produzione
Esegui il codice seguente per recuperare l'hash md5 del contenuto del file:
modello di nodo. cj
Da questo risultato, si può dedurre che il contenuto del file insieme all'hash md5 del file viene visualizzato in modo appropriato.
Approccio alternativo 1: generazione dell'hash MD5 di una stringa in Node.js
La seguente dimostrazione del codice genera un hash md5 di un valore stringa:
era perizoma = 'Linux' ;la calce include = richiedere ( 'cripto' ) ;
var makeHash = includere. createHash ( 'md5' ) . aggiornamento ( corda ) . digerire ( 'esadecimale' ) ;
consolle. tronco d'albero ( 'Hash MD5 di una stringa -> ' + makeHash ) ;
In questo codice:
- Inizializza la stringa rispetto alla quale deve essere recuperato il valore hash md5 e includi ' criptovaluta ' modulo.
- Successivamente, allo stesso modo, applicare il “ createHash() ' E ' digerire() ' metodi per creare un oggetto hash e recuperare la stringa rispetto al tipo di codifica passato, ovvero 'hex'.
- Infine, restituisci l'hash md5 della stringa definita.
Produzione
modello di nodo. cj
Approccio alternativo 2: generazione dell'hash MD5 di una password in Node.js
In questo esempio, è invece possibile recuperare l'hash MD5 di una password:
era perizoma = '123*adQe&' ;la calce include = richiedere ( 'cripto' ) ;
var makeHash = includere. createHash ( 'md5' ) . aggiornamento ( corda ) . digerire ( 'esadecimale' ) ;
consolle. tronco d'albero ( 'Hash MD5 di una password -> ' + makeHash ) ;
Qui, specifica la password e ripeti i passaggi discussi per includere il ' criptovaluta ' e applicando il modulo combinato ' aggiornamento() ' E ' digerire() ' metodi per generare un hash md5 della password.
Produzione
L'esecuzione del cmdlet seguente genera l'hash md5 della password:
modello di nodo. cj
Conclusione
L'hash MD5 di un file può essere generato installando e importando il file ' criptovaluta ' e facendo uso dei suoi metodi come ' createHash() ' E ' digerire() ” ecc. Inoltre è possibile generare anche l'hash md5 di una stringa definita o di una password. Questo sostanzialmente protegge i dati crittografandoli in base al formato di codifica passato.