Foros del Web » Programación para mayores de 30 ;) » Java »

Crear un hash unico protegido

Estas en el tema de Crear un hash unico protegido en el foro de Java en Foros del Web. Hola nuevamente Hago la pregunta en Java ya que utilizo este lenguaje, pero en realidad me gustaría mas una ayuda en la parte lógica también. ...
  #1 (permalink)  
Antiguo 21/09/2015, 13:09
Avatar de Fodonga  
Fecha de Ingreso: septiembre-2015
Mensajes: 3
Antigüedad: 8 años, 7 meses
Puntos: 0
Pregunta Crear un hash unico protegido

Hola nuevamente

Hago la pregunta en Java ya que utilizo este lenguaje, pero en realidad me gustaría mas una ayuda en la parte lógica también.

Resulta que yo genero un codigo hash encriptado con el metodo "DES" y luego lo codifico con base64.

Todo me funciona correcto, el problema me surge cuando quiero crear una opcion que sea dinamica, es decir, que hay un campo contraseña que puede ir o no, entonces supongamos que el codigo encriptado fuera asi

af8asfa9s8f7asf9as7f8asf98asf79a8sf798as79f87as98f asf

Y así fuera con un password (encriptado, claro)

af8asfa9s8f7asf9as7f8asf98asf79a8sf798as79f87as98f asf==asf78as9f

Ahora me doy cuenta que tengo la cabeza quemada ya que si el cliente borra la última instrucción: ==asf78as9f le deja de preguntar por la contraseña y me saltea al código sin protección.

De qué manera podría camuflar la contraseña para que no puedan saltearla?

Imaginen que el cliente rellena sus datos de esta forma:

Usuario, Email y Contraseña (OPCIONAL)

Se genera ese código Hash con sus 2 datos y si puso una contraseña, con los 3.

Desde el Hash se podría recuperar la información, pero si uno ingresó un password, otro podrá borrar el pedazo de texto ese final (que es la contraseña) y evitar la validación...

Ojalá se haya entendido, es que si no tengo que sacar la opción de validar con password y dejar solo los datos y me gustaría darle la opción de protegerlo.

Gracias anticipadas
  #2 (permalink)  
Antiguo 22/09/2015, 09:51
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Crear un hash unico protegido

Buenas,

Olvidate de DES. Es un algoritmo que se puede revertir (volver a poner en claro) y por lo tanto no es valido para que guardes la contrasena.

Tienes que utilizar una funcion de hash que no pueda revertirse.
https://fr.wikipedia.org/wiki/Keyed-...ntication_Code
Por ejemplo puedes usar hmac_sha256.

La contrasena estara guardada como hash en la base de datos.
Cada vez que el usuario introduzca la contrasena, le aplicas hmac_sha256 para obtener el hash y comparas este con el existente en la base de datos.

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 22/09/2015, 18:39
Avatar de Fodonga  
Fecha de Ingreso: septiembre-2015
Mensajes: 3
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Crear un hash unico protegido

Hola Profesor, muchas gracias por responderme.

Es que no uso base de datos, yo encripto unos datos y el usuario puede con ese codigo generado hacer lo que quiera (enviarselo a sus contactos, etc)

Pero imaginemos que uno quisiera que si ese hash codigo cayera por la red, tuviera un password, entonces ahi es donde radica mi problema, que el programa cuando alguien quiera ver la informacion (si hay password) que se lo pregunte y sino, que muestre la informacion.

El tema es que como yo lo plantee, parece que no sirve, porque probe eliminando el final (la que seria el password) y el programa saltea la validacion que yo hago, ya que yo divido el hash entre (la info la parte izquierda de los == y la parte derecha que es el password)

Entonces me fijo que ingresando en mi progra el hash ese (borrando la derecha, que seria el password) el programa ya no me pregunta el password, entonces me lo saltea...

Ojala me haya dando a entender, es que ando negado y no se como hacerlo ya...

Gracias de antemano por tu ayuda

Etiquetas: hash, password
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:49.