Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Un simple generador de contraseñas por darkbouser

  • 0 Respuestas
  • 2690 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado darkbouser

  • *
  • Underc0der
  • Mensajes: 16
  • Actividad:
    0%
  • Reputación 0
  • las cosas pasan porque tienen que pasar
    • Ver Perfil
« en: Noviembre 28, 2013, 03:24:58 am »
Acabo de hacer un generador de contraseñas de 4 dígitos tomadas como base de una cédula de identidad (documento de identificación en Venezuela) pero puede ser cualquier número de 8 dígitos. Esta elaborado de acuerdo a unas especificaciones que tiene comentado antes de las librerías de C.

Código: C
  1.  
  2. /* Dada una cedula de identidad, genere una clave de cuatro digintos, formada de acuerdo a las siguientes reglas:
  3.  1) El digito de las unidades en la clave sera el digito menos significativo del resultado de sumar los digitos mas y menos
  4.  significativos de la cedula de identidad.
  5.   2) El digito de las decenas en la clave sera el resto de dividir entre 9 a la suma de todos los digitos de la cedula
  6. 3) El digito de las centenas de la clave sera el resto de dividir entre 7 a la suma de los digitos pares exisitentes en la cedula
  7.  4) El digito de las unidades de mil en la clave será el digito mas significativo del resultado obtenido al multiplicar
  8.  todos los digitos, diferentes de cero, de la cedula de identidad */
  9.  #include <stdio.h>
  10.  #include <stdlib.h>
  11.  
  12.  
  13.  void cedula(int ci[10])
  14.  {
  15.         for(int i=1; i <= 8; i++)
  16.         {
  17.                 printf("\n Ingrese el %i numero de la ci\n", i);
  18.                 scanf("%i", &ci[i]);
  19.         }
  20.  }
  21.  
  22.  void Mostrar(int ci[10])
  23.  {
  24.        
  25.    printf("\n La cedula de indentidad ingresada es:\n");
  26.    for(int i =1; i <= 8; i++)
  27.    {
  28.         printf("%i", ci[i]);
  29.    }
  30.    printf("\n");
  31.    system("pause");
  32.  }
  33.  
  34.  void unidades(int ci[10], int *uni)
  35.  {
  36.         *uni = ci[1] + ci[8];
  37.  }
  38.  
  39.  void decena(int ci[10], int *dec)
  40.  {
  41.    int aux=0;
  42.    for(int i=1; i <= 8; i++)
  43.    {
  44.         aux = aux + ci[i];
  45.    }
  46.    
  47.    *dec = aux % 9;
  48.  }
  49.  
  50.  void centenas(int ci[10], int *cen)
  51.  {
  52.         int aux =0;
  53.        
  54.         for(int i= 1; i <= 8; i++)
  55.         {
  56.                 if (ci[i] % 2 == 0)
  57.                 {
  58.                         aux = aux + ci[i];
  59.                 }
  60.         }
  61.        
  62.         *cen = aux % 7;
  63.  }
  64.  
  65.  void UnidadMil(int ci[10], int *um)
  66.  {
  67.        
  68.         int aux = 1;
  69.         int aux2 = 0;
  70.        
  71.         for(int i=1; i <= 8; i++)
  72.         {
  73.                 if ( ci[i] != 0)
  74.                 {
  75.                         aux = aux * ci[i];
  76.                 }
  77.         }
  78.        
  79.        
  80.        
  81.         while(aux > 0)
  82.         {
  83.            aux2 = aux % 10;
  84.                 aux = aux /10;  
  85.         }
  86.        
  87.         //le devuelve a la variable um el valor de la cifra mas significativa
  88.        
  89.         *um = aux2;
  90.        
  91.        
  92.  }
  93.  
  94.  main()
  95.  {
  96.         int ci[10]={0}, uni=0, dec=0, cen=0, um=0;
  97.        
  98.          cedula(ci);
  99.          Mostrar(ci);
  100.          unidades(ci, &uni);
  101.          decena(ci, &dec);
  102.          centenas(ci, &cen);
  103.          UnidadMil(ci, &um);
  104.          
  105.          //se imprime el resultado
  106.          
  107.          printf("\n La contraseña generada es:\n");
  108.          printf("%i%i%i%i",um, cen, dec, uni);
  109.          system("pause");
  110.          
  111.          //FIN DEL PROGRAMA    
  112.  }
  113.  

Saludos.
 
« Última modificación: Febrero 08, 2014, 05:36:35 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!



[SNIPPET] Obtener contraseñas almacenadas WLM

Iniciado por Karcrack

Respuestas: 0
Vistas: 2347
Último mensaje Junio 16, 2013, 06:31:26 pm
por Karcrack
[C] Simple Implementacion del cifrado Julio César

Iniciado por S[e]C

Respuestas: 0
Vistas: 2376
Último mensaje Abril 01, 2010, 09:35:14 pm
por S[e]C
generador de diccionarios en c++, ejecutable en linux.

Iniciado por rochesto

Respuestas: 0
Vistas: 2488
Último mensaje Abril 16, 2016, 05:23:57 pm
por rochesto
Simple Shell Remota

Iniciado por Juan

Respuestas: 1
Vistas: 2825
Último mensaje Mayo 06, 2011, 12:07:46 pm
por mr.blood
Generador de tarjetas de credito [C++]

Iniciado por S t Ø r M d ∆ r k

Respuestas: 36
Vistas: 74955
Último mensaje Abril 08, 2018, 04:30:47 am
por Meta