Cifrado, Codificación y Hashing son términos similares y, a menudo, se confunden entre sí. Así que analicemos cada término y en qué se diferencian entre sí.
Codificación:
en el método de codificación, los datos se transforman de una forma a otra. El objetivo principal de la codificación es transformar los datos en una forma que sea legible por la mayoría de los sistemas o que pueda ser utilizada por cualquier proceso externo.
No se puede usar para proteger los datos, se usan varios algoritmos disponibles públicamente para la codificación.
La codificación se puede utilizar para reducir el tamaño de los archivos de audio y vídeo. Cada formato de archivo de audio y video tiene un programa codificador-decodificador (códec) correspondiente que se usa para codificarlo en el formato apropiado y luego lo decodifica para su reproducción.
Ejemplo: ASCII, BASE64, UNICODE
Cifrado:
técnica de cifrado en codificación en la que el mensaje se codifica mediante el uso de un algoritmo de cifrado de tal manera que solo el personal autorizado puede acceder al mensaje o la información.
Es un tipo especial de codificación que se utiliza para transferir datos privados, por ejemplo, enviando una combinación de nombre de usuario y contraseña a través de Internet para iniciar sesión por correo electrónico.
En el cifrado, los datos que se cifrarán (llamados texto sin formato) se transforman mediante un algoritmo de cifrado como el cifrado AES o el cifrado RSA utilizando una clave secreta llamada cifrado. Los datos cifrados se denominan texto cifrado y, por último, el destinatario puede utilizar la clave secreta para convertirla de nuevo en texto sin formato.
Hay dos tipos de algoritmos de cifrado: cifrado simétrico y asimétrico.
En el caso del cifrado simétrico, los datos se codifican y decodifican con la ayuda de la misma clave, por ejemplo, el algoritmo de cifrado AES, pero en el caso del algoritmo de cifrado asimétrico, los datos se cifran con la ayuda de dos claves, a saber, la clave pública y la privada, por ejemplo. algoritmo RSA
Hashing:
en hashing, los datos se convierten en hash mediante alguna función hash, que puede ser cualquier número generado a partir de una string o texto. Varios algoritmos hash son MD5, SHA256. Los datos, una vez que se cifran, no son reversibles.
La función hash puede ser cualquier función que se utilice para asignar datos de tamaño arbitrario a datos de tamaño fijo. La tabla hash de estructura de datos se utiliza para almacenar datos.
Por ejemplo: cuando envía imágenes y mensajes de texto a través de WhatsApp a través de StackOverflow (publicación en preguntas), las imágenes se envían a un servidor diferente y el texto se envía a un servidor diferente con fines de eficiencia. Por lo tanto, para verificar las imágenes que no se manipulan entre la transferencia de datos a través de Internet, se puede usar un algoritmo hash como MD5.
Otro propósito del hashing es verificar contraseñas para iniciar sesión en varios sitios web, como se muestra en la imagen.
Referencias:
1) Función hash
2) Cifrado
3) Codificación