Un nuovo salt
Fa parte della sezione Autenticazione e sicurezza del percorso Node.js di Coddy. Lezione 3 di 24.
Le persone possono scegliere la stessa password. Un salt è un dato casuale incluso durante la derivazione della chiave della password memorizzata. Un salt nuovo fa sì che password identiche producano chiavi memorizzate diverse. Il salt viene salvato accanto alla chiave; non deve essere segreto.
const salt = randomBytes(8).toString('hex');
// 8 byte casuali rappresentati da 16 caratteri esadecimaliGenera il salt all'interno della funzione chiamata per ogni nuova password. Un valore creato una sola volta all'avvio del server verrebbe riutilizzato. Hai derivato una chiave usando un salt di prova fisso. Ora, per memorizzare le password, ne serve uno nuovo ogni volta. Qui, esercitati solo a generare il salt e a osservarne la lunghezza testuale di 32 caratteri.
randomBytes usa un generatore di numeri casuali crittografico. Math.random() non è destinato a valori sensibili dal punto di vista della sicurezza. Usa la funzione crittografica importata per il salt.
Sfida
FacileQuesto è un piccolo progetto di esercitazione. La configurazione è già fornita; modifica solo exercise.js.
Restituisci un nuovo salt casuale di 16 byte in formato esadecimale in salt. Esegui e usa GET su /result due volte: ogni risposta contiene una stringa esadecimale di 32 caratteri diversa. Non usare un salt fisso.
Provalo tu
import { randomBytes } from 'node:crypto';
export function exercise() {
return { salt: '00000000000000000000000000000000' };
}
Tutte le lezioni di Autenticazione e sicurezza
Esercitati da solo: Playground Express