Skip to content

¿Puedes explicar la diferencia entre hashing, cifrado y codificación?

Respuesta breve

La codificación (como Base64) es un cambio de formato reversible sin secreto — no es seguridad. El cifrado es reversible con una clave y protege la confidencialidad. El hashing es una función unidireccional que produce un resumen de longitud fija, usado para comprobaciones de integridad y almacenamiento de contraseñas, y no puede revertirse para obtener la entrada.

La gente confunde constantemente estos tres conceptos, y mezclarlos lleva a errores de seguridad reales — como «cifrar» una contraseña en Base64. Cada uno hace algo fundamentalmente distinto.

La codificación

La codificación transforma datos a otro formato para compatibilidad o transporte, no para secreto. Base64, la codificación de URL y ASCII son ejemplos. No hay clave — cualquiera puede decodificarlo trivialmente. Si ves Base64 protegiendo un «secreto», eso es un hallazgo, no un control.

El cifrado

El cifrado transforma los datos de modo que solo pueda leerlos quien tenga la clave correcta, y es reversible por diseño. Su propósito es la confidencialidad. Sin la clave, el texto cifrado carece de sentido; con ella, recuperas exactamente el texto plano original. Esto es lo que protege los datos en tránsito (TLS) y en reposo (cifrado de disco).

El hashing

El hashing pasa los datos por una función unidireccional (SHA-256, bcrypt, Argon2) para producir un resumen de longitud fija. No puedes revertir un hash para obtener su entrada. Sus propósitos son la integridad (la misma entrada siempre produce el mismo hash, por lo que cualquier cambio es detectable) y el almacenamiento de contraseñas (almacenar el hash, comparar hashes al iniciar sesión, nunca almacenar el texto plano).

Para las contraseñas en concreto, se usa un hash lento más una sal única por usuario, de modo que contraseñas idénticas produzcan hashes diferentes y los ataques precalculados de «tablas arcoíris» fallen.

La prueba rápida

Pregúntate: ¿puedo recuperar el original y necesito un secreto para hacerlo? Codificación — sí, sin secreto. Cifrado — sí, con una clave. Hashing — no, nunca.

Por qué esto importa

Los entrevistadores usan esto para detectar una confusión clásica. Un candidato que sabe enunciar el propósito y la reversibilidad de cada uno, y que sabe que las contraseñas deben salarse y hashearse (no cifrarse, nunca codificarse), demuestra exactamente el tipo de precisión que evita titulares por filtraciones de datos.

Posibles preguntas de seguimiento

  • ¿Por qué las contraseñas deben hashearse y salarse en lugar de cifrarse?
  • ¿Qué es una sal y contra qué ataque protege?
  • ¿Es Base64 alguna vez apropiado para proteger secretos?

Fuentes

Certificaciones

Consigue 100 preguntas de entrevista de ciberseguridad + respuestas

Déjanos tu correo y te enviaremos el pack en PDF gratuito y el mazo de flashcards.

Sin spam. Cancela tu suscripción cuando quieras.