Audité un proyecto Node.js y encontré hash SHA-256. Esto es lo que cambié.

Descubre cómo una auditoría de código en Node.js reveló el uso de SHA-256 para contraseñas. Migramos a bcrypt con actualización automática. Mejora la seguridad de tu app.

9 jun 2026 • 4 min read • Q2BSTUDIO Team

De SHA-256 a bcrypt: mejorando la seguridad de contraseñas

Auditar el código legacy de un proyecto Node.js puede revelar sorpresas que van más allá de simples bugs. Recientemente, durante una revisión de seguridad en una aplicación web, nos encontramos con un sistema de autenticación que utilizaba SHA-256 para el hash de contraseñas. A primera vista, la implementación funcionaba: las contraseñas no se almacenaban en texto plano y se aplicaba un salt. Sin embargo, al analizar con detalle, descubrimos que el salt era estático y compartido entre todos los usuarios, lo que anulaba gran parte de su propósito. Además, el sistema usaba tokens de sesión codificados en Base64 sin firma criptográfica, lo que permitía su modificación por parte de un atacante. Desde Q2BSTUDIO, expertos en desarrollo de software a medida, sabemos que estos problemas son más comunes de lo que parece, especialmente cuando el código de autenticación se escribe una vez y nunca se revisa. La seguridad no es un estado, es un proceso continuo que exige actualizaciones periódicas.

SHA-256 es un algoritmo criptográfico excelente para integridad de archivos o firmas digitales, pero no está diseñado para almacenar contraseñas. Su velocidad de cómputo, una ventaja en otros contextos, se convierte en un riesgo grave: un atacante con acceso a la base de datos puede probar miles de millones de combinaciones por segundo usando hardware moderno. Los algoritmos de hashing de contraseñas como bcrypt, Argon2id o PBKDF2 incluyen un factor de trabajo configurable que ralentiza deliberadamente el proceso, encareciendo los ataques de fuerza bruta. En nuestro caso, optamos por migrar a bcrypt con 12 rondas, una decisión pragmática que equilibraba seguridad, rendimiento y facilidad de despliegue en el entorno del cliente. Como parte de nuestros servicios de ciberseguridad y pentesting, recomendamos siempre evaluar el contexto antes de elegir la solución más avanzada: Argon2id podría ser la opción ideal para un proyecto nuevo, pero bcrypt ofrecía una migración inmediata sin cambiar la infraestructura subyacente.

Uno de los mayores desafíos fue migrar los usuarios existentes sin forzar un restablecimiento masivo de contraseñas. Para ello implementamos un mecanismo de actualización automática durante el inicio de sesión: al validar la contraseña con el algoritmo antiguo, si coincidía, se generaba un nuevo hash con bcrypt y se almacenaba en la base de datos. Así, cada usuario se actualizaba de forma transparente, sin interrupciones ni correos de recuperación. Esta estrategia es similar a las que aplicamos cuando desarrollamos soluciones de automatización de procesos, donde la continuidad del negocio es prioritaria. Además, aprovechamos la auditoría para reemplazar los tokens Base64 por JWTs firmados con HS256, con tiempos de expiración de 15 minutos para acceso y 7 días para renovación. Esto añadió una capa de verificación criptográfica que impedía la suplantación de identidad.

La experiencia nos dejó varias lecciones. La primera es que el código de autenticación tiende a permanecer inalterado durante años simplemente porque 'funciona'. Sin embargo, las recomendaciones de seguridad evolucionan, el hardware avanza y las técnicas de ataque se perfeccionan. Revisar periódicamente estas implementaciones debería ser parte de cualquier plan de mantenimiento de software. La segunda lección es que las mejoras de seguridad no requieren necesariamente una reescritura completa: con una estrategia de migración gradual se pueden obtener resultados significativos. En Q2BSTUDIO, al abordar proyectos de IA para empresas o servicios cloud AWS y Azure, siempre priorizamos que las medidas de seguridad estén integradas desde el diseño, no como un parche posterior.

Más allá del cambio técnico, esta auditoría demostró que invertir tiempo en revisar el código heredado genera un valor tangible. No solo se fortaleció la autenticación, sino que se mejoró la confianza del usuario y se redujo el riesgo de exposición de datos sensibles. Para las empresas que buscan digitalizarse o mejorar sus sistemas actuales, contar con un socio tecnológico que entienda tanto la parte funcional como la de seguridad es clave. Trabajamos en servicios de inteligencia de negocio con Power BI y en el desarrollo de aplicaciones a medida, donde integramos buenas prácticas de ciberseguridad desde la fase de arquitectura. Incluso en proyectos que incorporan agentes IA, la protección de datos y credenciales sigue siendo un pilar fundamental.

En resumen, lo que comenzó como una simple auditoría de hash de contraseñas terminó transformando por completo el subsistema de autenticación. No se trató de condenar el uso de SHA-256, sino de reconocer que cada tecnología tiene su propósito y que aplicar el algoritmo correcto al problema correcto marca la diferencia entre un sistema que funciona y uno que es seguro. Si su proyecto Node.js (o cualquier otro) tiene años sin revisar su capa de autenticación, tal vez sea momento de hacer lo mismo: revisar, cuestionar y mejorar. La seguridad no es un destino, es un viaje constante, y en Q2BSTUDIO estamos preparados para acompañarle en cada paso.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat