← Lumbre

Desarrollo de Software con IA Contraseñas, hashing y secretos: lo que jamás va en el código

Portada de Contraseñas, hashing y secretos: lo que jamás va en el código

Contraseñas, hashing y secretos: lo que jamás va en el código

✦ Hay información que no debe quedar escrita donde cualquiera la pueda ver: contraseñas, claves de API, datos de acceso a la base de datos · Desarrollo de Software con IA · en menos de 7 minutos

Roadwise Consulting

Contenido modificado tras su publicación

Objetivo: Distinguir cifrado de hashing, manejar variables de entorno y nunca exponer claves.

7 min Desarrollo de Software con IA 15–99 años
Modo PPTX
Más
Contraseñas, hashing y secretos: lo que jamás va en el código

Herramientas de la lección

Sorpréndeme

Sobre este contenido

Ir a

Volver a Módulo 11 · Seguridad Cursos Explorar Mi cuenta Salir del modo estudio

Dos formas de ocultar que no son lo mismo

Cifrar es cerrar con llave: quien la tiene reabre y lee el original. Sirve para datos que necesitas volver a usar. Hashear es triturar: se convierte en una huella irreversible; no se «deshashea». Sirve para contraseñas, porque solo necesitas comprobar, no recuperar. Confundirlas es un error de seguridad clásico de la IA.

Cifrado vs hashing

  1. Cifrado (recuperable)

    Con la llave, el texto oculto vuelve a leerse. Para datos que necesitas reutilizar.

  2. Hashing (irreversible)

    La contraseña se vuelve huella. No se invierte; se compara huella con huella.

Los «secretos»: lo que nunca va en el código

Un secreto escrito en el código viaja al repositorio, al desplegar y a cualquiera que lea el archivo.
SecretoEjemploDónde va
Clave de APIAPI_KEY del clima o de pagosvariable de entorno en el servidor
Credencial de base de datosDB_PASSWORDvariable de entorno
Contraseña de usuariola que escribe al registrarsesolo como hash en la base de datos
Token de firmaSECRET_TOKEN de la sesiónvariable de entorno

Cómo detectar la IA que expone un secreto

El literal es la filtración

texto
MAL (clave pegada en el codigo, va al repositorio):\n  const API_KEY = "abc123-CLAVE-REAL";\n  fetch(API+"/pagos?key=" + API_KEY);\n\nBIEN (se lee del entorno del servidor, nunca se imprime):\n  const API_KEY = process.env.API_KEY;   // llega del entorno\n  // y la llamada se hace desde el backend, no desde el navegador\n\nREGLA: ningun secreto aparece literal en el codigo ni en el frontend; solo referencias a variables de entorno.
Busca en el código cualquier cadena que parezca clave real. Si está literal, es un hallazgo: va al entorno y fuera del repositorio.

Prueba

¿Por qué las contraseñas se guardan con hashing y no cifradas?

Guardar una API key directamente en el código fuente es aceptable mientras el proyecto sea privado.

Detecta el secreto expuesto

Revisas lo que entregó una IA. Señala el punto que filtra un secreto:

Marca la línea o las líneas con error y pulsa Comprobar.

Haz una lista de los secretos de tu proyecto (claves, credenciales) y de dónde debe vivir cada uno (variable de entorno). Pide a la IA que no deje ninguno literal en el código.

Si un secreto se puede ver en el repositorio, da por hecho que ya lo vio alguien.

Tu texto se guarda sólo en este dispositivo.

Las respuestas y tu progreso se guardan sólo en este dispositivo. Contenido firmado por su autoría mediante Lumbre.
Más sobre esta lección

Comentarios

Inicia sesión para comentar.

Todavía no hay comentarios. Sé la primera persona en opinar.