WALUDO Herramientas
CRYPTO.03 BCRYPT GENERATOR

Generador Bcrypt

Generar y verificar comparten una contraseña, mientras Hash Inspector explica el resultado junto al coste, el tiempo y el límite de 72 bytes.

PASSWORD

Contraseña y coste

Base de compatibilidad habitual; mide el hardware de producción

Introduce una contraseña para generar o pega un hash a la derecha

bcrypt.js asíncrono local · las contraseñas y hashes nunca se suben ni guardan

§ 01

Genera y verifica la misma contraseña

1
1

Introduce la contraseña y revisa los bytes

El límite clásico de Bcrypt es de 72 bytes UTF-8. Los caracteres CJK y los emoji ocupan varios bytes, así que atiende al aviso y no solo al número de caracteres.

2
2

Elige el coste

Cada incremento duplica aproximadamente el trabajo. Coste 12 es un punto de partida común, pero el valor de producción debe medirse en el servidor real.

3
3

Genera o verifica

El resultado generado rellena automáticamente el campo de verificación. La verificación lee el salt y el coste incluidos en el hash completo.

§ 02

Bcrypt ralentiza deliberadamente las conjeturas de contraseñas

Bcrypt es un hash de contraseñas, no un cifrado reversible. Cada resultado contiene versión, coste, salt aleatorio y carga del hash; el verificador lee el salt desde la cadena completa.

Un inicio de sesión normal calcula una vez, mientras un atacante repite el trabajo costoso por cada intento. Revisa el coste cuando cambie el hardware sin ralentizar el servicio a ciegas.

§ 03

Escala y uso del factor de coste

Coste
Rondas aprox.
Recomendación
4–9
16–512
Pruebas y demostraciones locales
10–11
1024–2048
Sistemas antiguos o poco potentes
12
4096
Base común; mide el hardware
13–14
8192–16384
Mayor coste; evalúa la latencia
15
32768
Puede ser lento en el navegador
§ 04

El límite de 72 bytes y el prefijo de versión causan problemas de compatibilidad

El Bcrypt tradicional usa solo los primeros 72 bytes de la contraseña. Setenta y dos caracteres ASCII son 72 bytes, pero CJK suele usar tres y muchos emoji cuatro.

Los prefijos habituales son 2a, 2b y 2y. La salida moderna suele usar 2b, mientras 2y aparece en ecosistemas PHP. Al migrar entre lenguajes, prueba muestras reales con librerías mantenidas.

§ 05

Generación y verificación Bcrypt en varios lenguajes

import bcrypt from 'bcryptjs';
const hash = await bcrypt.hash(password, 12);
const valid = await bcrypt.compare(password, hash);
§ 06

Preguntas frecuentes

Q1¿Se puede descifrar Bcrypt?

No. La verificación recalcula la entrada con el salt y el coste incluidos en el hash; una contraseña olvidada debe restablecerse.

Q2¿El coste 12 sirve siempre para producción?

No. Es un punto de partida común, pero elige el valor con pruebas en el hardware real y considera concurrencia, límites y experiencia.

Q3¿Por qué la misma contraseña produce hashes distintos?

Cada generación usa un salt aleatorio nuevo. Las cadenas distintas siguen verificando la misma contraseña y evitan ataques de tablas arcoíris.

Q4¿Se suben o guardan las contraseñas?

No. bcrypt.js calcula de forma asíncrona en la página actual, sin enviar entradas ni escribir en el almacenamiento del navegador.

Q5¿Bcrypt o Argon2id para un proyecto nuevo?

Ambos sirven para almacenar contraseñas. Los sistemas nuevos suelen evaluar primero Argon2id; Bcrypt sigue siendo común por compatibilidad y datos existentes.

✳ WALUDO TOOLBOX ✳ Herramientas nativas del navegador · NO SERVER · NO DATA COLLECTION

Tus archivos nunca salen de tu ordenador · FILES STAY LOCAL · PRIVACY FIRST