En esta unidad hemos visto las funciones hasheadoras y sus usos para diferentes propósitos. Antes de continuar, deberíamos distinguir entre hashear, encodear y encriptar.
Hashing, como ya hemos visto, es un proceso mediante el cual se coge un input y se extrae un output, que es siempre el mismo y de un único sentido (no se puede "des-hashear").
Encoding, convierte la información de una forma a otra para hacerla compatible con un sistema específico (ASCII, UTF-8, UTF-16, etc.). Es reversible y cualquiera puede obtener la información, por lo que no se debe confundir con la encriptación.
Encryption, protege la información usando un cifrado criptográfico y claves. Es reversible pero sólo si se tiene la clave (técnicamente).
