Un simple generador de contraseñas por darkbouser

  • 0 Respuestas
  • 2978 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

Un simple generador de contraseñas por darkbouser

  • 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 »

 

[SNIPPET] Obtener contraseñas almacenadas WLM

Iniciado por Karcrack

Respuestas: 0
Vistas: 2579
Ú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: 2596
Ú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: 3032
Último mensaje Abril 16, 2016, 05:23:57 pm
por rochesto
Simple Shell Remota

Iniciado por Juan

Respuestas: 1
Vistas: 3032
Último mensaje Mayo 06, 2011, 12:07:46 pm
por mr.blood
[C] Generador de diccionarios(Comando)

Iniciado por mr.blood

Respuestas: 0
Vistas: 2926
Último mensaje Mayo 19, 2013, 10:38:07 am
por mr.blood