Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

138
Vistas
Coincidencia de contraseñas hash y saladas de la base de datos

Creé un reino personalizado usando Apache Shiro para dar cuenta de que nuestra aplicación tiene más de una ubicación para las cuentas de usuario y las contraseñas almacenadas. Originalmente estaba usando Shiro para codificar y hacer coincidir las contraseñas, pero el reino personalizado significa que tengo que hacer algunas de estas cosas manualmente.

Después de buscar me encontré con este código:

 public String sha256(String base) { try{ MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(base.getBytes("UTF-8")); StringBuffer hexString = new StringBuffer(); for (int i = 0; i < hash.length; i++) { String hex = Integer.toHexString(0xff & hash[i]); if(hex.length() == 1) hexString.append('0'); hexString.append(hex); } return hexString.toString(); } catch(Exception ex){ throw new RuntimeException(ex); } }

Agregué una sal y funciona muy bien, así que me pregunto si puedo almacenar el valor devuelto en una base de datos al crear un par de nombre de usuario\contraseña y luego recuperarlo para que coincida con la contraseña proporcionada (más la sal). Parece que debería funcionar, pero cuando hice esto anteriormente con Shiro, el hasher de contraseña SHA256 NO devolvió el mismo valor con la misma contraseña base cada vez, pero siempre fue capaz de hacerlo coincidir. Quería asegurarme de seguir una metodología válida (y, lo que es más importante, segura) para el manejo de contraseñas.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Un par de cosas: puede crear un hash de una cadena de compra usando algo como: new Sha256Hash(password, salt)

Echa un vistazo a este ejemplo

Si tiene varios lugares donde se almacenan los usuarios, probablemente debería tener un reino diferente para cada tienda.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda