Menu
CoddyTech

Bytes e texto hexadecimal

Parte da seção Autenticação e segurança do Journey de Node.js da Coddy. Lição 1 de 24.

Funções criptográficas trabalham com bytes. Um byte é um número de 0 a 255. UTF-8 codifica texto como bytes, e um Buffer armazena esses bytes no Node. O hexadecimal, ou hex, representa cada byte com dois caracteres, usando os dígitos de 0 a 9 e as letras de a a f. Isso torna os bytes convenientes para armazenar como texto.

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

O byte da letra O é 79 em decimal, escrito como 4f em hex.

Essa conversão é reversível: ela muda a representação, não a informação. Codificar uma senha em hex não a protege. Um hash de senha é verificado recalculando um valor derivado, em vez de decodificá-lo. Aqui, as entradas são textos comuns, e o exercício retorna sua representação em hex para que você possa comparar as duas formas.

challenge icon

Desafio

Fácil

Este é um pequeno projeto de prática. A configuração já está pronta; edite apenas exercise.js.

Retorne um campo hex contendo o texto fornecido codificado como bytes UTF-8 e, em seguida, em hexadecimal. Enviar {"text":"Hi"} por POST para /result retorna {"hex":"4869"}. O texto Ada retorna 416461.

Experimente você mesmo

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

Todas as lições de Autenticação e segurança

Pratique por conta própria: Playground de Express