Definiciones de palabras, terminología y jerga: ¿Cuál es la diferencia entre codificación, cifrado y hash?

Publicado originalmente en @http: //dillonhale.com/blog/infor…

La codificación, el cifrado y el hash son todos métodos para transformar datos. Estos métodos ofrecen varios niveles de seguridad a los datos que se han transformado.

El cifrado y la codificación a menudo se confunden para ser el mismo método; como tal, ambos transforman datos, aunque el proceso en el que transforman y recuperan datos difiere.

Codificación:

La codificación es el proceso de convertir datos en varios formatos en los que se utilizarán en un dispositivo o sistema diferente. El proceso de codificación utiliza métodos disponibles públicamente para transformar los datos. Se podría usar un método de codificación para convertir datos de Base 10 (binario) en Base 16 (hexadecimal).

Ejemplo: Cambiar el tipo de datos de ASCII a UTF.

Cifrado:

El cifrado es el proceso de codificación de datos para hacerlos descifrables solo por los destinatarios previstos. Por lo general, a los destinatarios que están autorizados para ver los datos se les proporciona una cadena de clave coincidente con la que se cifraron los datos, luego aplican la clave secreta a los datos codificados y los vuelven a convertir en texto sin cifrar.

Ejemplo: envío de información confidencial por medio público.

Hashing:

El hash es un método que codifica los datos aplicando una transformación unidireccional. Como tal, cualquier dato que se haya aplicado a un algoritmo de hash no se puede revertir. En otras palabras, cualquier dato que haya sido hash no puede ser deshilachado invirtiendo el algoritmo.
Al cifrar datos, la misma entrada de datos siempre se codifica en la misma salida de hash (resumen de mensaje) y la salida de hash también es siempre del mismo tamaño fijo, sin importar el tamaño de la longitud de los datos de entrada.

Ejemplo: almacenamiento de contraseñas dentro de una base de datos.