Estoy bastante CONTENTO ;D ;D, a ver hice una aplicación que genera contraseñas ALEATORIAS y además te dice si es POTENTE o no :)

Quiero que me den su valoración y porfavor decirme en que podría mejorar, de veras, te lo agradecere enormemente

Creo que ya nombro mejor a las clases y las utilizo mejor y mi lógica de programacion creo que a aumentado.

Clase Password:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace generarPassword
{

    class Password
    {
        int longitud = 8;
        public Password(int longitud)
        {
            this.longitud = longitud;
            generarPassword();
            
        }
      
        private void generarPassword()
        {
            string cadena = "";
            string guardarCadena = "";
            int m = 0;
            int[] numero = new int[this.longitud];
            string[] letras = new string[this.longitud];
            int esFuerte = 0;
            Random rnd = new Random();
            int i;
            for (i = 0; i < this.longitud; i++)
            {
                numero[i] = rnd.Next(65,131);


            }
            for (int e = 65; e <= 122; e++)
            {
                if (m >= this.longitud) 
                {
                    break;
                }
                if (numero[m] >= 65)
                {
                    
                    switch (numero[m])
                    {
                        case 65:
                            letras[m] = "A";
                            break;
                        case 66:
                            letras[m] = "B";
                            break;
                        case 67:
                            letras[m] = "C";
                            break;
                        case 68:
                            letras[m] = "D";
                            break;
                        case 69:
                            letras[m] = "E";
                            break;
                        case 70:
                            letras[m] = "F";
                            break;
                        case 71:
                            letras[m] = "G";
                            break;
                        case 72:
                            letras[m] = "H";
                            break;
                        case 73:
                            letras[m] = "I";
                            break;
                        case 74:
                            letras[m] = "J";
                            break;
                        case 75:
                            letras[m] = "K";
                            break;
                        case 76:
                            letras[m] = "L";
                            break;
                        case 77:
                            letras[m] = "M";
                            break;
                        case 78:
                            letras[m] = "N";
                            break;
                        case 79:
                            letras[m] = "O";
                            break;
                        case 80:
                            letras[m] = "P";
                            break;
                        case 81:
                            letras[m] = "Q";
                            break;
                        case 82:
                            letras[m] = "R";
                            break;
                        case 83:
                            letras[m] = "R";
                            break;
                        case 84:
                            letras[m] = "S";
                            break;
                        case 85:
                            letras[m] = "T";
                            break;
                        case 86:
                            letras[m] = "U";
                            break;
                        case 87:
                            letras[m] = "V";
                            break;
                        case 88:
                            letras[m] = "W";
                            break;
                        case 89:
                            letras[m] = "X";
                            break;
                        case 90:
                            letras[m] = "Y";
                            break;
                        case 91:
                            letras[m] = "Z";
                            break;
                        case 92:
                            letras[m] = "a";
                            break;
                        case 93:
                            letras[m] = "b";
                            break;
                        case 94:
                            letras[m] = "c";
                            break;
                        case 95:
                            letras[m] = "d";
                            break;
                        case 96:
                            letras[m] = "e";
                            break;
                        case 97:
                            letras[m] = "f";
                            break;
                        case 98:
                            letras[m] = "g";
                            break;
                        case 99:
                            letras[m] = "h";
                            break;
                        case 100:
                            letras[m] = "i";
                            break;
                        case 101:
                            letras[m] = "j";
                            break;
                        case 102:
                            letras[m] = "k";
                            break;
                        case 103:
                            letras[m] = "l";
                            break;
                        case 104:
                            letras[m] = "m";
                            break;
                        case 105:
                            letras[m] = "n";
                            break;
                        case 106:
                            letras[m] = "o";
                            break;
                        case 107:
                            letras[m] = "p";
                            break;
                        case 108:
                            letras[m] = "q";
                            break;
                        case 109:
                            letras[m] = "r";
                            break;
                        case 110:
                            letras[m] = "s";
                            break;
                        case 111:
                            letras[m] = "t";
                            break;
                        case 112:
                            letras[m] = "u";
                            break;
                        case 113:
                            letras[m] = "v";
                            break;
                        case 114:
                            letras[m] = "w";
                            break;
                        case 115:
                            letras[m] = "x";
                            break;
                        case 116:
                            letras[m] = "y";
                            break;
                        case 117:
                            letras[m] = "z";
                            break;
                        case 118:
                            letras[m] = "0";
                            break;
                        case 119:
                            letras[m] = "1";
                            break;
                        case 120:
                            letras[m] = "2";
                            break;
                        case 121:
                            letras[m] = "3";
                            break;
                        case 122:
                            letras[m] = "4";
                            break;
                        case 123:
                            letras[m] = "5";
                            break;
                        case 124:
                            letras[m] = "6";
                            break;
                        case 125:
                            letras[m] = "7";
                            break;
                        case 126:
                            letras[m] = "8";
                            break;
                        case 127:
                            letras[m] = "9";
                            break;
                        case 128:
                            letras[m] = "@";
                            break;
                        case 129:
                            letras[m] = "/";
                            break;
                        case 130:
                            letras[m] = "]";
                            break;
                        case 131:
                            letras[m] = "-";
                            break;
                        case 132:
                            letras[m] = "}";
                            break;
                    }
                   
                }
                m = m + 1;
            }
            int y = 1;
            
            for (int n = 0; n <=this.longitud; n++) 
            {
              

               cadena = letras[n] ;
               guardarCadena =cadena+guardarCadena;

               if (y == this.longitud)
               {
                   break;
               }
                y = y + 1;
               
               
            }
            Console.Write(guardarCadena);

            for (int v = 0; v < 66; v++) 
            {
                if (v == this.longitud)
                {
                    Console.WriteLine();
                    if (esFuerte > 8)
                    {
                        Console.WriteLine("La contraseña es potente");
                    }
                    if (esFuerte < 8 && esFuerte > 5)
                    {
                        Console.WriteLine("La contraseña es normalita");
                    }
                    if (esFuerte < 4)
                    {
                        Console.WriteLine("la contraseña es Débil");
                    }
                    if (this.longitud > 8)
                    {
                        esFuerte = esFuerte + 2;

                    }
                    else
                    {
                        esFuerte = esFuerte - 4;
                    }
                    return;
                }
             if(numero[v] > 65 && numero[v] < 91)
                {
                    esFuerte++;
             
                }
             if (numero[v] >= 65 && numero[v] <= 91)
             {
                 esFuerte++;

             }
             if (numero[v] >= 92 && numero[v] <= 117)
             {
                 esFuerte++;

             }
             if (numero[v] >= 118 && numero[v] <= 132)
             {
                 esFuerte++;
             }

             if (v == 65)
             {
                 if (esFuerte > 8)
                 {
                     Console.WriteLine("La contraseña es potente");
                 }
                 if (esFuerte < 8 && esFuerte > 5)
                 {
                     Console.WriteLine("La contraseña es normalita");
                 }
                 if(esFuerte < 4)
                 {
                     Console.WriteLine("la contraseña es Débil");
                 }
                 if (this.longitud > 8)
                 {
                     esFuerte = esFuerte + 2;

                 }
                 else
                 {
                     esFuerte = esFuerte - 4;
                 }
                 return;
             }

            }

           
        }
        
    }
}
Clase Program(no se cambiar este nombre): aquí es donde se ejecuta el metodo Main:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace generarPassword
{
    class Program
    {
        static void Main(string[] args)
        {
            Password generarContraseña = new Password(10);
            

           
        }
    }
}
Modificar mensaje
Se aprende viendo y aplicando Prueba, Error, Correccion
repetía case muchas veces, tema arreglado:
for (int e = 65; e <= 122; e++)
            {
                if (m >= this.longitud) 
                {
                    break;
                }
                if (numero[m] >= 65)
                {
                   for(int k = 65; k <= 132;k++)
                       {
                           if (numero[m] == k)
                           {
                               if (m == 26) 
                               {
                                   m = 0;
                               }
                               letras[m] = abc[m];
                               m = m + 1;
                               k = 65;
                               break;
                              
                           }
                           if (k == 132)
                           {
                               k = 65;
                               m = m + 1;
                           }
   
                       } 
                } 
            }
Se aprende viendo y aplicando Prueba, Error, Correccion
Una forma mas fácil de hacerlo y te ahorras 200 lineas de código:

En el metodo Main:

Este si que permite CUALQUIER LONGITUD:


Ascii correponde con el UTF-16

Es decir me ahorre 200 y pico de lineas por solo 39, de la siguiente manera:
Console.WriteLine("Escribe la longitud");
            int longitud = int.Parse(Console.ReadLine());
            int i;
            char x;
            char cadena;
            Random rnd = new Random();
             i = rnd.Next(38, 126);

            for(int e = 0; e< longitud;e++)
            {
             x = (char)i;
            
             
             Console.Write(x);
             
             i++;
             if (i >= 126)
             {
                 i = i / 2;
             }
            }
            Console.WriteLine();
Se aprende viendo y aplicando Prueba, Error, Correccion
El codigo es enorme.... mira este lo programe hace un tiempo... solo añadele la funfion que te indica si es segura o no xD
using System;

namespace Generar_String_Aleatorios
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            Random r = new Random();
            String acb = "abcdefghijklmnopqrstvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            char abcString;
            String baul = "String: ";

            int valor = 10; //Longitud de la String.

            for(int var1 = 0; var1 < valor; var1++){
                int var2 = r.Next(58);
                abcString = acb[var2];
                baul = baul + abcString;
            }
            Console.Write(baul);
        }
    }
}
MIS APORTES:
http://pastebin.com/fR0yp2GM
Responder

Volver a “VB/.NET”