Foros del Web » Programando para Internet » PHP »

encriptar contraseña

Estas en el tema de encriptar contraseña en el foro de PHP en Foros del Web. hola tengo una pequeña duda sobre encriptacion de contraseñas. guardo la contraseña encirptada asi en la base de datos $contrasena = md5($contrasena); y cuando el ...
  #1 (permalink)  
Antiguo 10/11/2010, 17:03
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
encriptar contraseña

hola tengo una pequeña duda sobre encriptacion de contraseñas.
guardo la contraseña encirptada asi en la base de datos
$contrasena = md5($contrasena);
y cuando el usuario entra la contraseña al logearse uso la misma funcion para encriptar lo ingresado y compararlo con lo que tengo en la base de datos.
Pero como pude ver en foros igual hay riesgos en el envio de la contraseña sin encriptar hasta el servidor, entonces voy a usar Javascript MD5, para dar mas seguridad.
Pero me surge una duda , si el usuario tiene javascript desactivado llegara la contraseña sin encriptar al servidor .
Como hago para saber si lo que recibo esta ya encriptado o es la contraseña original. Pues si paso dos veces la contraseña por la funcion el resultado no el correcto creo ??
Espero haber sido claro
Gracias por ayudarme
  #2 (permalink)  
Antiguo 10/11/2010, 17:30
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: encriptar contraseña

Bueno lo que se me ocurre es en el formulario poner un campo oculto con un valor por ejemplo javascript y con valor 0.

luego al final de la pagina por ejemplo...
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     document.getElementById('javascript').value = 1;
  3.    // o con el clasico
  4. document.form.javascript.value =1;
  5. </script>

y luego en el servidor ves que valor tiene el campo oculto javascript si tiene 0, no esta codificada, si tiene 1 si esta codificada...

Bueno se me ocurrió eso, no es el fuerte mio javascript y deben existir mejores soluciones...

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #3 (permalink)  
Antiguo 10/11/2010, 19:09
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: encriptar contraseña

si el javascript llegara a estar desactivado no podria loguearse, pss suponiendo que en tu BD tambien estan encriptadas...
digamos la clave es pepe,encriptada es 1234..
ya en la BD esta encriptada y le mandas pepe
osea pepe nunca va a ser igual a 1234 entoncestu consulta sql no tendra efecto....

jejeje estas caras son muy vacanas!!
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #4 (permalink)  
Antiguo 10/11/2010, 19:16
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: encriptar contraseña

La idea es sencilla, pones un campo oculto con un valor (ej.0), al final de la pagina le cambias el valor al campo oculto con javascript (ej.1).
Al enviar el formulario el valor oculto va a contener 0, si no se pudo ejecutar el javascript y va a tener 1 si se ejecuto.
Entonces preguntas en el servidor que valor tiene el campo y según el valor que trae realizas o no la encriptacion de la contraseña.

Saludos.
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #5 (permalink)  
Antiguo 10/11/2010, 19:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: encriptar contraseña

Cita:
Iniciado por malakian Ver Mensaje
si el javascript llegara a estar desactivado no podria loguearse, pss suponiendo que en tu BD tambien estan encriptadas...
digamos la clave es pepe,encriptada es 1234..
ya en la BD esta encriptada y le mandas pepe
osea pepe nunca va a ser igual a 1234 entoncestu consulta sql no tendra efecto....

jejeje estas caras son muy vacanas!!
No es asi , a partir de lo que ingresa el usuario yo en el sevidor la encripto
Simplemente pregunto a los que esten usando un sistema asi como saben si llega encriptada o no para no pasarla dos veces por la funcion
Gracias igual
  #6 (permalink)  
Antiguo 10/11/2010, 19:31
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: encriptar contraseña

pero si la envias sin encriptar alguien la puede detectar, seria inseguro...

y como es que preguntas que si llega encriptada o no??
si el usuario escribe la clave y no la encriptas antes de enviar pss va llegar sin encriptar...
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #7 (permalink)  
Antiguo 10/11/2010, 19:39
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: encriptar contraseña

Un comentario aparte, lo mas seguro es hacerlo por https, pues si no igual aunque mandes la clave encriptada, si es capturada la misma lo van a poder lograr el acceso al sistema... Lo único es que no podrán saber cual es la clave original que puso el usuario pero el acceso como ese usuario si lo podrán lograr...

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #8 (permalink)  
Antiguo 10/11/2010, 19:46
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: encriptar contraseña

claro https seria lo mejor...

pero no entiendo por que si se captura la clave ya encriptada, van acceder??? ....

ademas tengo entendido que el md5 esta diseñado para que no tenga reversa.. buenotalvez se pueda pero demoraria mucho
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #9 (permalink)  
Antiguo 10/11/2010, 19:53
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: encriptar contraseña

Pues ejemplo:
usuario: pepe
clave: pepe, supongamos que la encripta con javascript y te queda ads2656sdedsa1
envía el formulario y es capturado por alguien con lo cual en la captura recoge un usuario pepe y una clave ads2656sdedsa1 , si el que capturo utiliza ese par de valores el sistema le va a dar el acceso pues como no vuelve a encriptar la contraseña en el servidor, va a encontrar un registro con valor pepe y clave ads2656sdedsa1, aunque el que capturo los datos quizás nunca se entere que la contraseña es pepe, pero si logro el propósito de entrar al sistema...


Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #10 (permalink)  
Antiguo 10/11/2010, 19:58
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: encriptar contraseña

bueno en ese caso tienes razon portalmana, por eso sigo insistiendo en lo de encriptar o no la contraseña tu dices que captura laclave encriptada, pero si ingresa laclave otra vez y sigue encriptando obviamente laclave que capturo antes ads2656sdedsa1 la va a volver a encriptar y quedaria peor ads2656sdedsa1ads2656sdedsa1 de eso es lo que hablo...

si el lo hace como tu dices,practicamente de nada serviria encriptar.. es bueno que allas aclarado esto yo me imaginaba que el sistema encriptaba siempre ...

__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #11 (permalink)  
Antiguo 10/11/2010, 20:03
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: encriptar contraseña

yo di una opción de lo que interprete que quería hacer.... lo mejor es el https... Pero encriptar con javascript igual no te salva pues se puede ver todo el código, y sabiendo como opera algo es mas fácil saltárselo...

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #12 (permalink)  
Antiguo 10/11/2010, 20:05
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: encriptar contraseña

estamos de acuerdo que lo mejor es https...
pero digo, si no tienes para pagar un licencia, usar javascript, yo lo uso, encripto con SHA1 y lo recomiendo, saludos
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #13 (permalink)  
Antiguo 10/11/2010, 20:09
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: encriptar contraseña

Código HTML:
Ver original
  1. <script LANGUAGE="JavaScript">
  2. <!--
  3. function enviar(){
  4.   document.forms[0].clave.value=SHA1(document.forms[0].clave.value);
  5. }
  6.  
  7. // -->
  8. <script type="text/javascript" src="webtoolkit.sha1.js"></script>
  9.  
  10. <form action="ningunapagina.php" method="POST" onSubmit="enviar();">
  11. <input type="password" name="clave" class="input">
  12. <input type="submit" value="Aceptar"/>
  13. </form>

No lo veo inseguro, si es asi haganmelo saber, seria util
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #14 (permalink)  
Antiguo 10/11/2010, 20:17
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: encriptar contraseña

Mira esta web
http://www.usebox.net/jjm/passw/

explica porque no sirve solo encriptar y enviar y da una solución
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #15 (permalink)  
Antiguo 11/11/2010, 03:56
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: encriptar contraseña

Cita:
Iniciado por portalmana Ver Mensaje
Mira esta web
http://www.usebox.net/jjm/passw/

explica porque no sirve solo encriptar y enviar y da una solución
Muchisimas gracias a todos

Etiquetas: contraseña, encriptar
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 10:43.