Foros del Web » Programando para Internet » Javascript »

password???

Estas en el tema de password??? en el foro de Javascript en Foros del Web. tengo otra duda.... como puedo lograr esto... tengo este codigo... ¿Cómo funciona? El nombre del password es el nombre de la página destino sin la ...
  #1 (permalink)  
Antiguo 14/02/2004, 14:07
Avatar de plOtz  
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 60
Antigüedad: 21 años
Puntos: 0
password???

tengo otra duda....

como puedo lograr esto...
tengo este codigo...

¿Cómo funciona? El nombre del password es el nombre de la página destino sin la extensión htm. De esta manera no se expone el password al ver el código fuente. A continuación un ejemplo: El password es 92s3j77e (al ingresarlo vas a ser redireccionado a la página 92s3j77e.htm)
Cita:
<html>
<body>
<script LANGUAGE="JavaScript">
function Entrar(password) {window.location=password+".htm"}
</script>

<form>
<p><input type="password" name="palabra" size="25"> <input type="button" value="entrar"
onClick="Entrar(this.form.palabra.value)" name="button"> </p>
</form>

</body>
</html>
el problemilla es que si tu pones cualkier passsword.... se dirige a una web "404" .. como puedo hacer para que cuando pongas el pass incorrecto se valla a una web definida por mi... ejemplo... "error.html"
  #2 (permalink)  
Antiguo 15/02/2004, 15:09
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
No se si esto puede servirte, postee en las faq un codigo para cifrar contraseñas, un metodo por el que solo se pueden codificar, y no hay manera de descodificarlas. Se llama md5, igual lo conoces. Su codigo aplicado a js seria este:

Código PHP:
/*
 * [B][U][COLOR=red](entre / y * no puede haber nada, ahi daba un error)[/COLOR][/U]  [/B]  
 * md5.js
 *
 * A JavaScript implementation derived from the RSA Data Security, Inc. MD5
 * Message-Digest Algorithm.
 * Copyright (C) Paul Johnston 1999 - 2000. Distributed under the LGPL.
*/

/* to convert strings to a list of ascii values */
var sAscii " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ"
var sAscii sAscii "[\]^_`abcdefghijklmnopqrstuvwxyz{|}~";

/* convert integer to hex string */
var sHex "0123456789ABCDEF";
function 
hex(i)
{
  
"";
  for(
0<= 3j++)
  {
    
+= sHex.charAt((>> (4)) & 0x0F) +
         
sHex.charAt((>> (8)) & 0x0F);
  }
  return 
h;
}

/* add, handling overflows correctly */
function add(xy)
{
  return ((
x&0x7FFFFFFF) + (y&0x7FFFFFFF)) ^ (x&0x80000000) ^ (y&0x80000000);
}

/* MD5 rounds functions */
function R1(ABCDXST)
{
  
add(add(A, (C) | ((~B) & D)), add(XT));
  return 
add((<< S) | (>>> (32 S)), B);
}

function 
R2(ABCDXST)
{
  
add(add(A, (D) | (& (~D))), add(XT));
  return 
add((<< S) | (>>> (32 S)), B);
}

function 
R3(ABCDXST)
{
  
add(add(AD), add(XT));
  return 
add((<< S) | (>>> (32 S)), B);
}

function 
R4(ABCDXST)
{
  
add(add(A^ (| (~D))), add(XT));
  return 
add((<< S) | (>>> (32 S)), B);
}

/* main entry point */
function calcMD5(sInp) {

  
/* Calculate length in machine words, including padding */
  
wLen = (((sInp.length 8) >> 6) + 1) << 4;
  var 
= new Array(wLen);

  
/* Convert string to array of words */
  
4;
  for (
0; (4) < sInp.lengthi++)
  {
    
X[i] = 0;
    for (
0; (4) && ((4) < sInp.length); j++)
    {
      
X[i] += (sAscii.indexOf(sInp.charAt((4) + j)) + 32) << (8);
    }
  }

  
/* Append padding bits and length */
  
if (== 4)
  {
    
X[i++] = 0x80;
  }
  else
  {
    
X[1] += 0x80 << (8);
  }
  for(; 
wLeni++) { X[i] = 0; }
  
X[wLen 2] = sInp.length 8;

  
/* hard coded initial values */
  
0x67452301;
  
0xefcdab89;
  
0x98badcfe;
  
0x10325476;

  
/* Process each 16 word block in turn */
  
for (0wLen+= 16) {
    
aO a;
    
bO b;
    
cO c;
    dO = 
d;

    
R1(abcdX[i0], 0xd76aa478);
    
R1(dabcX[i1], 120xe8c7b756);
    
R1(cdabX[i2], 170x242070db);
    
R1(bcdaX[i3], 220xc1bdceee);
    
R1(abcdX[i4], 0xf57c0faf);
    
R1(dabcX[i5], 120x4787c62a);
    
R1(cdabX[i6], 170xa8304613);
    
R1(bcdaX[i7], 220xfd469501);
    
R1(abcdX[i8], 0x698098d8);
    
R1(dabcX[i9], 120x8b44f7af);
    
R1(cdabX[i+10], 170xffff5bb1);
    
R1(bcdaX[i+11], 220x895cd7be);
    
R1(abcdX[i+12], 0x6b901122);
    
R1(dabcX[i+13], 120xfd987193);
    
R1(cdabX[i+14], 170xa679438e);
    
R1(bcdaX[i+15], 220x49b40821);

    
R2(abcdX[i1], 0xf61e2562);
    
R2(dabcX[i6], 0xc040b340);
    
R2(cdabX[i+11], 140x265e5a51);
    
R2(bcdaX[i0], 200xe9b6c7aa);
    
R2(abcdX[i5], 0xd62f105d);
    
R2(dabcX[i+10], ,  0x2441453);
    
R2(cdabX[i+15], 140xd8a1e681);
    
R2(bcdaX[i4], 200xe7d3fbc8);
    
R2(abcdX[i9], 0x21e1cde6);
    
R2(dabcX[i+14], 0xc33707d6);
    
R2(cdabX[i3], 140xf4d50d87);
    
R2(bcdaX[i8], 200x455a14ed);
    
R2(abcdX[i+13], 0xa9e3e905);
    
R2(dabcX[i2], 0xfcefa3f8);
    
R2(cdabX[i7], 140x676f02d9);
    
R2(bcdaX[i+12], 200x8d2a4c8a);

    
R3(abcdX[i5], 0xfffa3942);
    
R3(dabcX[i8], 110x8771f681);
    
R3(cdabX[i+11], 160x6d9d6122);
    
R3(bcdaX[i+14], 230xfde5380c);
    
R3(abcdX[i1], 0xa4beea44);
    
R3(dabcX[i4], 110x4bdecfa9);
    
R3(cdabX[i7], 160xf6bb4b60);
    
R3(bcdaX[i+10], 230xbebfbc70);
    
R3(abcdX[i+13], 0x289b7ec6);
    
R3(dabcX[i0], 110xeaa127fa);
    
R3(cdabX[i3], 160xd4ef3085);
    
R3(bcdaX[i6], 23,  0x4881d05);
    
R3(abcdX[i9], 0xd9d4d039);
    
R3(dabcX[i+12], 110xe6db99e5);
    
R3(cdabX[i+15], 160x1fa27cf8);
    
R3(bcdaX[i2], 230xc4ac5665);

    
R4(abcdX[i0], 0xf4292244);
    
R4(dabcX[i7], 100x432aff97);
    
R4(cdabX[i+14], 150xab9423a7);
    
R4(bcdaX[i5], 210xfc93a039);
    
R4(abcdX[i+12], 0x655b59c3);
    
R4(dabcX[i3], 100x8f0ccc92);
    
R4(cdabX[i+10], 150xffeff47d);
    
R4(bcdaX[i1], 210x85845dd1);
    
R4(abcdX[i8], 0x6fa87e4f);
    
R4(dabcX[i+15], 100xfe2ce6e0);
    
R4(cdabX[i6], 150xa3014314);
    
R4(bcdaX[i+13], 210x4e0811a1);
    
R4(abcdX[i4], 0xf7537e82);
    
R4(dabcX[i+11], 100xbd3af235);
    
R4(cdabX[i2], 150x2ad7d2bb);
    
R4(bcdaX[i9], 210xeb86d391);

    
add(aaO);
    
add(bbO);
    
add(ccO);
    
add(d, dO);
  }
  return 
hex(a) + hex(b) + hex(c) + hex(d);


Te convendría meterlo todo en un *.js para no liarte. La unica funcion que tienes que utilizar es calcMD5("aki.el.pass"); Todo esto lo unico que devuelve es un codigo hexadecimal, de 32 caracteres, metas lo que metas.

La cuestion seria codificar manualmente tu contraseña, por ejemplo la que propones "92s3j77e", seria "FC3F35B28936EFFAE005FBD1A04E997A". Entonces pones tu codigo evaluando una condicion:

Código PHP:

<script LANGUAGE="JavaScript">
function 
Entrar(password) {
  if(
calcMD5(password)=="FC3F35B28936EFFAE005FBD1A04E997A"pagina=password+".htm";
  else 
pagina="error.htm";
  
window.location=pagina;
}

</script> 
Con eso en tu script no esta la contraseña (los creadores de la codificacion md5 dicen que es imposible sacar la descodificacion, unicamente por fuerza bruta), y tampoco la pagina de destino. Solo habria una posibilidad de entrar, poniendo la contraseña correcta que solo la sabrías tu, la que codificaste a mano.


A mi juicio es una solucion muy buena y profesional


Un saludo y espero que te sirva !
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 16/02/2004 a las 08:55
  #3 (permalink)  
Antiguo 15/02/2004, 17:50
Avatar de plOtz  
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 60
Antigüedad: 21 años
Puntos: 0
mmmm...... no me resulto.. yo creo que es porque los puese de forma ekivocada...

mira... el primer codigo lo copie y lo pege en un *.js luego cree un html y puse el formulario con el script que me pasaste ..... luego y el *.js lo uni al html.... pero no me funco.. me salio un error... si alguien lo puede hacer, o k le resulte... me puede explicar o me lo manda
( mi msn es [email protected])

nos vemos... espero que a alguien le resulte :D

bye ;)
  #4 (permalink)  
Antiguo 15/02/2004, 17:52
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
¿Dónde te da el error?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 15/02/2004, 17:56
Avatar de plOtz  
Fecha de Ingreso: abril-2003
Ubicación: Chile
Mensajes: 60
Antigüedad: 21 años
Puntos: 0
abajo en la barra dice error en la pagina... y cuando pongo el password.... y apreto entrar.. no pasa nada se queda pegado :(

y no pasa nada...
  #6 (permalink)  
Antiguo 16/02/2004, 08:50
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
He probado el codigo, da un error al principio, en el comentario grande del copyright, porque la marca de principio de comentario debe ser /*, y no vale poner espacios entre esos dos caracteres. He editado el mensaje anterior, en donde aparece el codigo, para no tener que pegarlo otra vez, ahora si está bien.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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 18:09.