Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

207
Views
¿Cómo cifrar la contraseña de administrador?

En mi aplicación web Java, la cuenta de administrador creará una cuenta de usuario, donde se cifrará la contraseña, usando la clase StandardPasswordEncoder , eso es fácil. Pero, ¿cómo encriptar la contraseña de administrador, que ya almacené en la base de datos MySQL ?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

¿Cómo encriptar la contraseña de administrador, que ya almacené en la base de datos mysql?

Puedes editar tu contraseña:

 UPDATE table_name SET pass = MD5(pass); -- --------------------------^^^------- -- This can be any Standard encryption algorithm, you can check the link above

Puede echar un vistazo a las funciones de cifrado y compresión

¿Qué pasa si solo quiero cifrar solo la contraseña de administrador? la contraseña de otros usuarios será encriptada por el administrador en la clase de controlador java.

Puede marcar su contraseña como un administrador maestro, por ejemplo, puede agregar una columna en su tabla que marque la diferencia entre el administrador y los usuarios comunes, considere que tiene una gran empresa en este caso, una cuenta de administrador no es suficiente, necesita muchos administradores cuentas, y en base a esta columna puede cifrar la cuenta de administrador con un algoritmo y las demás con otro algoritmo.


Cifrar contraseña usando SHA-256

Logré encriptar la contraseña de administrador, pero no puedo iniciar sesión en mi aplicación web porque la clase StandardPasswordEncoder en la aplicación web usa el algoritmo hash SHA-256

SHA-256 != MD5 , esto está claro, por lo que debe usar el mismo algoritmo en el código lateral y en la base de datos, en su caso, está usando SHA-256 , supongo que está usando una función como esta:

CÓDIGO

 public static String sha256(String base) { try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(base.getBytes("UTF-8")); StringBuilder hexString = new StringBuilder(); 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 (UnsupportedEncodingException | NoSuchAlgorithmException ex) { throw new RuntimeException(ex); } }

Esto encriptará al administrador de esta manera:

 admin = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918

BASE DE DATOS

Entonces, en su base de datos, debe cifrar su contraseña de esta manera:

 SELECT SHA2('admin', 256);

La consulta de actualización debería verse así:

 UPDATE table_name SET pass = SHA2(pass, 256) WHERE admin_master = true; -- -------------Field to check if it is admin or not ---^

Entonces, cuando intenta iniciar sesión, debe verificar si es administrador o no, si el administrador encripta su contraseña con SHA-256 y verifica si el usuario existe o no, de lo contrario, si el usuario es un usuario ordinario, verifique con su algoritmo anterior.

Espero que esto pueda darte una idea.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!