Menu
CoddyTech

Octets et texte hexadécimal

Fait partie de la section Authentification et sécurité du Journey Node.js de Coddy. Leçon 1 sur 24.

Les fonctions cryptographiques travaillent avec des octets. Un octet est un nombre compris entre 0 et 255. UTF-8 encode le texte sous forme d’octets, et un Buffer contient ces octets dans Node. L’hexadécimal, ou hex, représente chaque octet par deux caractères à l’aide des chiffres de 0 à 9 et des lettres de a à f. Cela permet de stocker facilement les octets sous forme de texte.

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

L’octet correspondant à la lettre O vaut 79 en décimal, et s’écrit 4f en hexadécimal.

Cette conversion est réversible : elle modifie la représentation, pas l’information. Encoder un mot de passe en hexadécimal ne le protège pas. Pour vérifier un hachage de mot de passe, on recalcule une valeur dérivée au lieu de le décoder. Ici, les entrées sont du texte ordinaire, et l’exercice renvoie leur représentation hexadécimale pour que tu puisses comparer les deux formes.

challenge icon

Défi

Facile

Il s’agit d’un petit projet d’entraînement. Sa configuration est fournie ; modifie uniquement exercise.js.

Renvoie un champ hex contenant le texte fourni encodé en octets UTF-8, puis en hexadécimal. Envoyer {"text":"Hi"} avec POST à /result renvoie {"hex":"4869"}. Le texte Ada renvoie 416461.

Essayez vous-même

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

Toutes les leçons de Authentification et sécurité

Entraînez-vous par vous-même : Playground Express