Todos los retos

Reto 16

¿Se ha filtrado mi contraseña?

Crea un formulario que te diga si una contraseña ha aparecido en una filtración de datosUna fuga de la base de datos de usuarios de un sitio web, a menudo con contraseñas, que los atacantes prueban después en otros sitios. conocida, sin que la contraseña salga nunca de tu n8n.

InicialComplejidad:Tiempo: 20–30 min

Tu tarea

Ofrece a las personas un formulario sencillo donde escriban una contraseña y sepan si ha aparecido en alguna filtración de datosUna fuga de la base de datos de usuarios de un sitio web, a menudo con contraseñas, que los atacantes prueban después en otros sitios. conocida y cuántas veces. Nunca envíes la contraseña a ningún sitio y nunca la guardes.

Tu tarea extra

Convierte el formulario en un registro con dirección de correo. Si la contraseña se ha filtrado, indica cuántas veces y pide otra. Si está limpia, guarda el correo y un hashUna huella de longitud fija calculada a partir de un texto. La misma entrada siempre da el mismo hash, pero el hash no se puede convertir de nuevo en el texto. de la contraseña – nunca la contraseña – en una Data TableLa tabla integrada de n8n para guardar filas dentro de tu espacio de trabajo, sin una base de datos externa. y confirma la cuenta.

Ejemplos de uso

  • Un equipo de IT que permite a los compañeros comprobar una contraseña antes de usarla en cualquier sitio.
  • Un formulario de registro que rechaza contraseñas ya encontradas en filtraciones de datos.
  • Cualquier comprobación contra un servicio externo en la que los datos originales deben seguir siendo privados.

Antes de empezar

  1. 01

    Regístrate en n8n Cloud o abre tu espacio de n8n. No necesitas ninguna otra cuenta ni clave.

  2. 02

    La comprobación usa la API Pwned Passwords de Have I Been Pwned. Es gratuita, no necesita clave y funciona por k-anonimato: envías solo los cinco primeros caracteres del hash SHA-1 de la contraseña a https://api.pwnedpasswords.com/range/XXXXX y recibes todos los sufijos de hash coincidentes con su recuento. Prueba con la contraseña `password` – vista decenas de millones de veces – y con una cadena larga aleatoria, que no debería devolver coincidencias.

  3. 03

    Para el bonus, crea una Data Table llamada accounts con las columnas email y password_hash (ambas de texto).

  4. 04

    En los Settings del workflow, pon Save successful production executions en Do not save para que lo que se escribe en el formulario no quede en tu historial de ejecuciones.

Qué debe hacer el workflow

  1. 01

    Al escribir una contraseña filtrada como `password`, la página de resultado dice que ha aparecido en filtraciones y cuántas veces (más de 50 millones); una contraseña larga y aleatoria muestra que ninguna filtración la contiene.

  2. 02

    La ejecución muestra que la petición a Have I Been Pwned solo contiene los cinco primeros caracteres del hashUna huella de longitud fija calculada a partir de un texto. La misma entrada siempre da el mismo hash, pero el hash no se puede convertir de nuevo en el texto. y que ningún nodo posterior al hashing sigue llevando la contraseña.

  3. 03

    Bonus: con una contraseña limpia, la Data TableLa tabla integrada de n8n para guardar filas dentro de tu espacio de trabajo, sin una base de datos externa. accounts recibe una fila nueva con el correo y un hashUna huella de longitud fija calculada a partir de un texto. La misma entrada siempre da el mismo hash, pero el hash no se puede convertir de nuevo en el texto. SHA-256Un algoritmo de hashing más fuerte, usado en el bonus para la huella que se guarda., nunca la contraseña; con una contraseña filtrada no se guarda nada y el formulario pide otra.

Solución

Ver la respuesta del reto de workflow

Muestra el workflow completo solo cuando quieras compararlo con el tuyo.

Enviar como resuelto

¿Listo para enviar?

Envía el reto cuando el equipo tenga un workflow funcional que mostrar.

Solución

¿Mostrar la solución del workflow?

Esto mostrará el workflow completo de este reto. ¿Seguro que quieres continuar?

Revisión del mentor

Busca a un mentor y pídele que revise tu workflow.

Muéstrale el workflow funcionando. Cuando lo apruebe, recoge el globo de este reto.