Foros del Web » Programando para Internet » Javascript »

codigo de seguridad

Estas en el tema de codigo de seguridad en el foro de Javascript en Foros del Web. Buenas estoy intentando realizar una seración de códigos de seguridad como los códigos de barras EAN-16 de tal forma que los digitos me sumen 16 ...
  #1 (permalink)  
Antiguo 11/05/2011, 05:36
 
Fecha de Ingreso: mayo-2011
Ubicación: Madrid
Mensajes: 7
Antigüedad: 13 años
Puntos: 1
Pregunta codigo de seguridad

Buenas estoy intentando realizar una seración de códigos de seguridad como los códigos de barras EAN-16 de tal forma que los digitos me sumen 16 u 8 , por ello intente realizarlo con PHP pero como no era con bases de datos creo que el mensaje debe estar aquí.
Empece en excel pensando que en cada DIGITO solo puedo contar del 0 al 8
así que si el código es 61124300008 son un total de 11 digitos
LOS 6 primeros son fijos , y suman 8 y el resto son los que puedo variar para que sumen (8) y tambien decrezcan...
He intentado hacer la serie manual pero 1000 son demasiados
611243000 0 8 = 8
0 0 1 7 = 8
0 0 2 6 = 8
0 0 3 5 = 8
0 0 4 4 = 8
0 0 5 3 = 8
0 0 6 2 = 8
0 0 7 1 = 8
0 0 8 0 = 8
0 8 0 0 = 8
0 7 0 1 = 8
0 6 0 2 = 8
0 5 0 3 = 8
0 4 0 4 = 8
0 3 0 5 = 8
0 2 0 6 = 8
0 1 0 7 = 8


Cita:
<script languaje=javascript>

valorinicial= "00008";
largo = valor.length;
suma = 8;

for (a=0; a<=8; a++)
{
for (b=0; b<=8; b++)
{
for (c=0; c<=8; c++)
{
for (i=0; i<=8; i++)
{
document.write("6112430");
document.write(parseInt(a) * 4 + 4);
document.write(parseInt(b) * 3 + 3);
document.write(parseInt(c) * 2 + 2);
document.write(parseInt(i));
document.write("</br>");
}
}
}
}

</script>
Esto genera una serie que no entiendo porque de ella debo descartar con un FOR que cumpla que la suma de los digitos = 8
Alguien me puede ayudar GRACIAS
  #2 (permalink)  
Antiguo 11/05/2011, 07:09
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: codigo de seguridad

Tenés que indicar la base 10 en el segundo argumento de parseInt para que javascript no considere como octales los números que comienzan con cero. Ej:
Código PHP:
parseInt('08',10); 
  #3 (permalink)  
Antiguo 11/05/2011, 08:58
 
Fecha de Ingreso: mayo-2011
Ubicación: Madrid
Mensajes: 7
Antigüedad: 13 años
Puntos: 1
Pregunta Respuesta: codigo de seguridad

Gracias por la respuesta, pero no sé pillar la variable entonces, puedes ser más explicito? o bien empezar el bucle en 1 me daría igual siempre que la condición se pueda poner que la suma de los 4 digitos = 8
  #4 (permalink)  
Antiguo 11/05/2011, 09:29
Avatar de Aijoona
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Buenos Aires
Mensajes: 779
Antigüedad: 13 años
Puntos: 343
Respuesta: codigo de seguridad

A modo de aclaración, cuando decís que hay que sumar los 6 primeros dígitos, lo que estás haciendo es obtener la raíz digital.

http://en.wikipedia.org/wiki/Digital_root
__________________
blog | @aijoona

Etiquetas: seguridad
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 22:41.