Espera un momento ...
¿Te gustaría llevar mi curso de Laravel, gratis?
Sólo debes ingresar tus datos:
Es importante mantener nuestros datos (y de nuestros usuarios) seguros.
Para ello, es importante conocer los métodos más comunes para ello, y sus diferencias:
Muchas veces se comete el error de usar estos términos como si se tratase de lo mismo.
Y eso puede conllevar a muchos problemas.
Por ello:
En este artículo, vamos a revisar cada uno de estos métodos, y cómo funcionan, a través de ejemplos.
Encoding data, o codificar datos, es un proceso que consiste (simplemente) en cambiar el formato de los datos.
Es decir:
Como es fácilmente reversible, encoding no debe usarse para proteger datos.
Por el contrario, estos algoritmos suelen ser públicos, para que todos puedan codificar y decodificar fácilmente.
¿En qué casos se usa?
Generalmente para comunicar datos entre sistemas y aplicaciones, usando un formato más conveniente.
Ejemplos de encoding: ASCII, URL Encoding, Base64.
Encryption, o encriptación, es un proceso más seguro para proteger datos:
De tal manera que sólo los usuarios autorizados (con una clave o contraseña) puedan desencriptar (decrypt) el resultado y acceder al contenido original.
Debido a que codificar (encoding) es un término más general:
Tenemos 2 tipos de encriptación: con clave simétrica, y con clave pública.
Ejemplos de encryption: AES 256, Blowfish.
AES significa Advanced Encryption Standard, y usa una clave simétrica.
El nombre indica que se usa una clave de 256 bits.
Es decir, hay 2 elevado a la 256 posibles claves que pueden ser usadas.
Hashing es un proceso unidireccional, donde los datos se transforman a un string alfanumérico, con una longitud fija de caracteres.
Es importante resaltar que:
Ejemplos de función hash: SHA-512, MD5 (obsoleto).
Hashing es el método recomendado para procesos de autenticación:
¿Cómo funciona?
Usar hashing asegura que, en caso de una filtración de datos (ha ocurrido incluso con big tech companies):
Hashing se usa también para validar que un mensaje no ha sido alterado, en conjunto con una firma digital.
Ofuscar consiste en hacer algo más difícil de entender.
Usualmente para evitar que sea atacado, o copiado.
Un uso muy común es ofuscar código fuente:
De tal manera que sea difícil plagiar o hacer ingeniería inversa de un producto.
Es importante resaltar que:
No existe una limitación respecto a qué tanto se puede ofuscar un código:
Cuando se trata de código fuente, lo importante es que el resultado pueda seguir siendo consumido por una computadora, o la aplicación dejará de funcionar.
Ejemplos de ofuscadores: JavaScript Obfuscator, ProGuard.
Comparte este post si te fue de ayuda 🙂.
Regístrate
Accede a todos los cursos, y resuelve todas tus dudas.
Cursos Recomendados
Veamos cómo implementar un login mediante redes sociales! Aprende y aplica esto sobre cualquier proyecto Laravel.
Iniciar cursoCurso intensivo. Incluye el desarrollo de una API, su consumo, y autenticación vía JWT. También vemos Kotlin desde 0.
Iniciar cursoNuevo curso! Aprende Vite, Pinia, Vuetify, Vue Router y TypeScript. Desarrolla un eCommerce desde cero.
Iniciar cursoEspera un momento ...
¿Te gustaría llevar mi curso de Laravel, gratis?
Sólo debes ingresar tus datos: