Menu
CoddyTech

Byte e testo esadecimale

Fa parte della sezione Autenticazione e sicurezza del percorso Node.js di Coddy. Lezione 1 di 24.

Le funzioni crittografiche lavorano con i byte. Un byte è un numero da 0 a 255. UTF-8 codifica il testo come byte e un Buffer contiene quei byte in Node. L’esadecimale, o hex, rappresenta ogni byte con due caratteri usando le cifre da 0 a 9 e le lettere da a a f. In questo modo è comodo memorizzare i byte come testo.

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

Il byte della lettera O è 79 in decimale, scritto 4f in esadecimale.

Questa conversione è reversibile: cambia la rappresentazione, non le informazioni. Codificare una password in esadecimale non la protegge. Un hash della password viene verificato ricalcolando un valore derivato invece di decodificarlo. Qui gli input sono testo normale e l’esercizio restituisce la loro rappresentazione esadecimale, così puoi confrontare entrambe le forme.

challenge icon

Sfida

Facile

Questo è un piccolo progetto di esercitazione. La configurazione è già fornita; modifica solo exercise.js.

Restituisci un campo hex contenente il testo fornito codificato in byte UTF-8 e poi in esadecimale. POST {"text":"Hi"} a /result restituisce {"hex":"4869"}. Il testo Ada restituisce 416461.

Provalo tu

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

Tutte le lezioni di Autenticazione e sicurezza

Esercitati da solo: Playground Express