Menu
CoddyTech

Ein neues Salt

Teil des Abschnitts Authentifizierung und Sicherheit der Node.js-Journey von Coddy. Lektion 3 von 24.

Menschen können dasselbe Passwort wählen. Ein Salt sind zufällige Daten, die beim Ableiten des gespeicherten Passwortschlüssels einbezogen werden. Ein frisches Salt sorgt dafür, dass gleiche Passwörter unterschiedliche gespeicherte Schlüssel ergeben. Das Salt wird neben dem Schlüssel gespeichert; es muss nicht geheim sein.

const salt = randomBytes(8).toString('hex');
// 8 zufällige Bytes, dargestellt als 16 Hexadezimalzeichen

Erzeuge das Salt innerhalb der Funktion, die für jedes neue Passwort aufgerufen wird. Ein Wert, der einmal beim Start des Servers erzeugt wird, würde wiederverwendet. Du hast einen Schlüssel mithilfe eines festen Übungs-Salts abgeleitet. Für die Passwortspeicherung wird jetzt jedes Mal ein frisches Salt benötigt. Übe hier nur, das Salt zu erzeugen und seine Textlänge von 32 Zeichen zu überprüfen.

randomBytes verwendet einen kryptografischen Zufallszahlengenerator. Math.random() ist nicht für sicherheitskritische Werte vorgesehen. Verwende für das Salt die importierte kryptografische Funktion.

challenge icon

Aufgabe

Einfach

Dies ist ein kleines Übungsprojekt. Die Einrichtung ist bereits vorhanden; bearbeite nur exercise.js.

Gib einen neuen zufälligen Salt mit 16 Byte als Hexadezimalwert in salt zurück. Rufe GET /result zweimal auf: Jede Antwort enthält eine andere 32 Zeichen lange Hexadezimalzeichenfolge. Verwende keinen festen Salt.

Probier es selbst

import { randomBytes } from 'node:crypto';
export function exercise() {
    return { salt: '00000000000000000000000000000000' };
}

Alle Lektionen in Authentifizierung und Sicherheit

Übe selbstständig: Express-Playground