Blog
Recuperar la contraseña de un archivo keystore para Ethereum
En resumen
La contraseña de un archivo keystore UTC/JSON de Ethereum no puede restablecerse: no está escrita en el archivo ni se recupera mediante la blockchain, pero con el keystore conservado se pueden probar contraseñas sin conexión. Guarde una copia intacta y trabaje sobre otra. La viabilidad depende del estado del archivo, los parámetros de cifrado y las contraseñas plausibles.

Tiene el archivo. Se trata de un archivo keystore de tipo «.json», que suele tener un nombre similar a «UTC--2018-03-14T…», y que contiene su wallet de Ethereum. Lo que no tiene es la contraseña para abrirlo. Antes de empezar a introducir posibles contraseñas, conviene comprender qué es este archivo, ya que de ello depende que la contraseña de su archivo keystore de Ethereum pueda recuperarse o no.
En qué consiste realmente un archivo keystore
Una contraseña de keystore no se pierde del mismo modo que se pierde una frase de recuperación. El archivo que tiene delante es su clave privada, guardada dentro de un archivo JSON cifrado, y su contraseña es lo que lo desbloquea. La blockchain no almacena esa contraseña en ningún sitio: la contraseña solo bloquea este archivo concreto. Por lo tanto, lo que le falta no es su clave, sino la contraseña de la copia que ya tiene en su poder.
Esa distinción lo cambia todo. Al disponer del archivo, puede probar con él posibles contraseñas en su propio ordenador, sin conexión, tantas veces como quiera. Ningún servidor decide si se le permite otro intento. Su ETH sigue intacto en la blockchain, y este archivo es solo la vía para volver a acceder a él.
Antes de intentar nada: trabaje solo con una copia
Lo primero es copiar el archivo. Haga dos copias y guarde una en un lugar que no toque nunca, porque un keystore es un único archivo pequeño que lo contiene todo y los discos antiguos fallan en el peor momento.
Hay dos errores que dejan a la gente sin acceso para siempre:
- Conserve el archivo original sin cambios y no modifique su contenido. Un keystore debe seguir siendo un JSON válido. Cambiar el nombre o la extensión .json no modifica los datos guardados, pero puede impedir que el programa reconozca el archivo. Modificar o borrar los datos cifrados que contiene puede dejarlo inutilizable.
- Manténgalo sin conexión y nunca pegue su archivo keystore, su contraseña ni su clave privada en un sitio web que le ofrezca desbloquearlo. Los clones falsos de MyEtherWallet y MyCrypto aparecen en anuncios de los buscadores y son idénticos a los auténticos. En cuanto un estafador tiene el archivo y la contraseña, la wallet se vacía. La recuperación de verdad se hace en su propio ordenador, nunca en una pestaña del navegador a la que haya llegado a través de un anuncio.
Si aún conoce la contraseña: cómo abrir el archivo
Es la mejor posición de partida. Si realmente recuerda la contraseña, no necesita una recuperación. Necesita una herramienta actual, porque la que esta guía recomendaba antes ha quedado obsoleta.
La aplicación de escritorio de MyCrypto ya no recibe mantenimiento activo, según admite la propia MyCrypto, así que no base su recuperación en ella. Utilice en su lugar una de estas opciones:
- MetaMask. En la extensión del navegador, haga clic en el selector de cuentas y después en Add wallet e Import an account (los nombres de las opciones son los de la interfaz inglesa). En Select Type, elija JSON File, seleccione su keystore, introduzca la contraseña propia del archivo (no su contraseña de MetaMask) y haga clic en Import (guía de importación de MetaMask). La importación de JSON solo está disponible en la extensión. En versiones anteriores, esta opción se llamaba «Import account». Es la vía actual más sencilla.
- MyEtherWallet (MEW). MEW puede abrir un keystore, pero descargue MEW y ejecútelo sin conexión en lugar de introducir su contraseña en la web en línea. Una guía aparte trata los problemas de acceso a MEW.
- geth (go-ethereum). Para quien trabaja con la línea de comandos, geth lee los archivos keystore de su directorio keystore. Las versiones actuales gestionan las cuentas a través de Clef, un firmante independiente, y la antigua opción
--unlockestá marcada como obsoleta (gestión de cuentas en geth).
Una vez dentro, deje atrás la wallet antigua. Un keystore contiene una única clave y acaba de introducir la contraseña correspondiente en un software, así que envíe todo a una wallet nueva que controle usted. Más abajo, la sección sobre qué hacer después de recuperar el acceso explica cómo hacerlo de forma segura.
Ha olvidado la contraseña: cómo funciona realmente la recuperación
Que se pueda recuperar depende de lo que recuerde, y conviene entender por qué antes de gastar un solo céntimo. La contraseña no está escrita de forma legible dentro del archivo: se encuentra probando candidatas hasta que una descifra la clave. Como el archivo es suyo y puede hacer las pruebas con él, esa búsqueda se realiza sin conexión, sin bloqueos y sin límite de intentos. Es una libertad que una frase de recuperación completamente perdida nunca le ofrece.
Sin embargo, hay un inconveniente real. Un keystore protege su clave con una función deliberadamente lenta, scrypt o PBKDF2, combinada con cifrado AES-128-CTR (definición de Web3 Secret Storage). El factor de trabajo se guarda en el propio archivo; el ajuste estándar de scrypt en geth es 262 144. Esa lentitud es una medida de seguridad: cada intento cuesta tiempo de cálculo real, y es intencionado. Probar unos pocos miles de contraseñas probables se hace rápido. Probar todas las cadenas aleatorias posibles de diez caracteres, no. Ese espacio de búsqueda es demasiado grande para agotarlo en el transcurso de una vida humana, incluso con hardware potente.
Por eso, la fuerza bruta a ciegas queda descartada y lo que funciona es una búsqueda dirigida. La herramienta de código abierto para ello es BTCRecover, que admite los archivos keystore UTC de Ethereum y funciona completamente sin conexión. No se le dan cadenas aleatorias, sino lo que usted recuerda:
- una contraseña base que crea haber usado, más reglas para probar variantes: una mayúscula, un año al final, un símbolo cambiado por otro;
- una lista corta de palabras que suele reutilizar, probadas en distinto orden;
- la longitud y los tipos de caracteres, si los recuerda, para mantener la búsqueda acotada.
Después, BTCRecover recorre esas candidatas de forma sistemática. Para algunos formatos de wallet, los scripts de extracción de BTCRecover permiten a especialistas trabajar con un pequeño extracto de los datos de la wallet que no puede revelar las claves. Para los keystores de Ethereum no existe ese script, así que la búsqueda se realiza sin conexión sobre una copia del propio keystore.
El mejor caso es una base conocida con un final olvidado: la palabra correcta, pero con dudas sobre una mayúscula, un dígito o un símbolo al final. Es una búsqueda pequeña y acotada. Cuanto mayor es la incertidumbre, más crece la búsqueda.
Límites de la recuperación
No recordar ninguna parte de la contraseña no descarta automáticamente una búsqueda. Todavía se puede probar una lista limitada de contraseñas habituales y patrones sobre una copia del keystore. Que merezca la pena depende de las candidatas elegidas, de los parámetros de cifrado del archivo y de la velocidad de prueba medida. Una contraseña larga y generada al azar puede ser irrecuperable en la práctica; haberla olvidado no indica, por sí solo, lo segura que era.
La otra situación sin salida es no tener ningún archivo. Sin keystore, sin una clave privada guardada y sin frase de recuperación, no queda nada que descifrar y nadie puede entrar en la wallet. Preferimos decírselo con claridad antes que aceptar un caso que ya sabemos que no puede funcionar.
Archivo keystore frente a frase de recuperación: no son la misma copia de seguridad
La gente suele confundir ambos conceptos, y la diferencia determina sus opciones. Un archivo keystore es una clave privada, cifrada con una contraseña y guardada en formato JSON. Una frase de recuperación es una lista de palabras (normalmente 12 o 24) que permite regenerar todo un conjunto de claves según el estándar BIP-39. Son copias de seguridad independientes, con vías de recuperación distintas.
La conclusión práctica: si tiene el keystore, no necesita la frase de recuperación para entrar. Necesita la contraseña. Y si alguien le pide alguna vez su frase de recuperación para «recuperar» un keystore, se trata de un patrón de estafa, no de un paso real.
Tras volver a entrar: no confíe más en el keystore
Pase página. Un keystore es una única clave con una única contraseña, y una contraseña olvidada es justo lo que le impidió el acceso. Cree una wallet nueva que controle usted, idealmente una hardware wallet, y transfiera a ella su ETH y sus tokens. Una configuración basada en una frase de recuperación le ofrece una vía de recuperación que un keystore de un único archivo nunca tuvo.
Si no puede acceder a un keystore, ya sea porque ha olvidado la contraseña o porque tiene dudas sobre el archivo, empiece por una evaluación gratuita: una valoración honesta de si la contraseña puede reconstruirse, antes de cualquier compromiso. Crypto Recovers ha completado más de 200 recuperaciones desde 2019, trabaja según el principio «sin éxito, sin honorarios» y nunca maneja su dinero.
Si recuperamos la contraseña, es usted quien desbloquea el keystore y transfiere el ETH y los tokens a la wallet nueva descrita más arriba. Los honorarios acordados son un pago aparte, previsto en el contrato, y nunca se descuentan de los fondos recuperados.
Preguntas frecuentes
¿Por qué la contraseña de mi keystore de Ethereum aparece como incorrecta cuando tengo la certeza de que es la correcta?
Un mensaje de contraseña incorrecta no siempre se debe a que se haya olvidado la contraseña. Es posible que esté abriendo la wallet equivocada, que esté utilizando una distribución de teclado diferente o que haya cometido un pequeño error tipográfico, como una mayúscula, un símbolo o un número incorrectos.
¿Puedo extraer la clave privada de un archivo keystore sin la contraseña?
No. Un archivo keystore de Ethereum almacena su clave privada de forma cifrada. Sin la contraseña correcta, no es posible descifrar la clave privada ni acceder a ella.
¿Puedo recuperar mi wallet si he perdido el archivo keystore?
Solo si dispone de otra copia de seguridad, como la clave privada o la frase de recuperación. Si el archivo keystore se ha eliminado por error, es posible que un programa de recuperación de archivos pueda restaurarlo desde el dispositivo de almacenamiento original.
¿Es seguro utilizar MyCrypto para abrir un archivo keystore de Ethereum?
La aplicación de escritorio de MyCrypto ya no recibe mantenimiento activo. Por lo general, resulta más seguro utilizar software de wallet con soporte vigente que permita importar archivos keystore JSON, y solo debe utilizar aplicaciones de wallet oficiales.
¿Cuánto tiempo tarda la recuperación de la contraseña del keystore de Ethereum?
El tiempo de recuperación depende de la complejidad de la contraseña y de la cantidad de información que recuerde. Algunos casos pueden resolverse rápidamente, mientras que otros pueden requerir varios días de pruebas o puede que no sean recuperables.
¿Puedo descifrar por fuerza bruta la contraseña de un keystore de Ethereum con Hashcat?
Aunque técnicamente es posible, los archivos keystore de Ethereum están diseñados para resistir los ataques de fuerza bruta. La recuperación de contraseña resulta mucho más eficaz cuando se basa en pistas o en un conocimiento parcial de la contraseña original.
¿Todavía se pueden recuperar archivos de la preventa de Ethereum u otros archivos JSON de wallets antiguas?
Sí, si el archivo de la wallet todavía existe y la contraseña puede acotarse. Los archivos más antiguos, como las wallets de la preventa de 2014, usan un formato JSON distinto, pero aun así pueden probarse sin conexión con herramientas compatibles con ese formato; consulte nuestra guía sobre wallets de la preventa de Ethereum.
