es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Decodificar SHA1 conociendo el valor almacenado.

Tengo una función:

public static String hashPassword(String pass) throws Exception {
     MessageDigest md = MessageDigest.getInstance("SHA1");
     return Base64.getEncoder().encodeToString(md.digest(pass.getBytes("UTF-8")));
}

Sé que la contraseña es malazan2 y el valor almacenado es oxloQ7JK1hmHw9FF8tai1n5TolY=. He intentado convertirlo desde base64 pero no revela el hash sha1.

Cualquier idea sería muy apreciada sobre cómo decodificar correctamente.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en hash, recomendaría intentar revertir la función hash para obtener la contraseña original, en lugar de descifrar el valor almacenado.

    Uno de los enfoques podría ser utilizar un diccionario de contraseñas comunes para generar una lista de contraseñas potenciales, y luego aplicar la misma función SHA1 de hash y codificación base64 a cada contraseña. Esto permitiría comparar con el valor almacenado e identificar potencialmente la contraseña original utilizada para generar el hash.

    Otro enfoque sería utilizar un ataque de fuerza bruta, intentando generar sistemáticamente todas las posibles combinaciones de contraseñas hasta encontrar una coincidencia con el valor almacenado. Sin embargo, esto puede llevar mucho tiempo y requerir muchos recursos, especialmente con contraseñas más largas o complejas.

    En última instancia, la efectividad de estos métodos dependerá de factores como la longitud y complejidad de la contraseña original, la fortaleza del algoritmo de hash utilizado y cualquier medida de seguridad adicional implementada para proteger contra el cracking de contraseñas.

Comments are closed.