Menu
CoddyTech

Bytes und Hex-Text

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

Kryptografische Funktionen arbeiten mit Bytes. Ein Byte ist eine Zahl von 0 bis 255. UTF-8 kodiert Text als Bytes, und ein Buffer speichert diese Bytes in Node. Hexadezimal, oder Hex, schreibt jedes Byte mit Ziffern von 0 bis 9 und Buchstaben von a bis f als zwei Zeichen. Dadurch lassen sich Bytes bequem als Text speichern.

const bytes = Buffer.from('Ok', 'utf8');
bytes.toString('hex'); // '4f6b'
Buffer.from('4f6b', 'hex').toString('utf8'); // 'Ok'

Das Byte für den Buchstaben O ist dezimal 79 und wird hexadezimal als 4f geschrieben.

Diese Umwandlung ist umkehrbar: Sie ändert die Darstellung, nicht die Information. Ein Passwort als Hex zu kodieren, schützt es nicht. Ein Passwort-Hash wird überprüft, indem ein abgeleiteter Wert neu berechnet wird, statt ihn zu dekodieren. Hier sind die Eingaben gewöhnlicher Text, und die Übung gibt ihre Hexadezimaldarstellung zurück, damit du beide Formen vergleichen kannst.

challenge icon

Aufgabe

Einfach

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

Gib ein Feld hex zurück, das den übergebenen Text als UTF-8-Bytes und anschließend hexadezimal kodiert enthält. POST {"text":"Hi"} an /result gibt {"hex":"4869"} zurück. Der Text Ada ergibt 416461.

Probier es selbst

export function exercise({ text }) {
    return { hex: text };
}

Alle Lektionen in Authentifizierung und Sicherheit

Übe selbstständig: Express-Playground