Lección 2
Hash vs cifrado vs codificación
Aprende cómo el hashing difiere del cifrado y de la codificación.
Los desarrolladores suelen confundir hash, cifrado y codificación porque los tres transforman datos en otra representación. Resuelven problemas distintos.
Codificación: representación, no protección
La codificación formatea datos para transporte o almacenamiento. Base64, por ejemplo, convierte binario en ASCII imprimible. Cualquiera que reciba el texto codificado puede decodificarlo. La codificación es reversible por diseño.
Cifrado: secreto con clave
El cifrado protege la confidencialidad. Con la clave correcta, el texto cifrado puede descifrarse de vuelta a texto plano. Sin la clave, el descifrado debería ser impracticable. El cifrado responde: «¿Cómo mantengo esto legible solo para partes autorizadas?»
Hashing: huella digital, no secreto
El hashing produce un resumen para comparación y comprobaciones de integridad. Es unidireccional en uso normal. El hashing responde: «¿Estos bytes coinciden con una huella conocida?» No oculta datos de alguien que ya tiene la entrada.
Comparación rápida
| Mecanismo | ¿Reversible? | Objetivo típico |
|---|---|---|
| Codificación | Sí | Formato de transporte / visualización |
| Cifrado | Sí (con clave) | Confidencialidad |
| Hash | No (prácticamente) | Integridad / comparación |
Un error común
Los equipos a veces codifican en Base64 valores sensibles y asumen que están protegidos. Base64 no es cifrado. Del mismo modo, publicar un MD5 de un archivo ayuda a otros a verificar integridad, pero no impide que nadie lea el archivo si ya lo tiene.