Underc0de

Programación General => Java => Mensaje iniciado por: hackmin en Marzo 16, 2015, 04:45:10 PM

Título: [Java] Generador de contraseñas + si es fuerte o no
Publicado por: hackmin en Marzo 16, 2015, 04:45:10 PM
Código (java) [Seleccionar]
package poo;

import java.util.Random;

public class Password {

public static void main(String[] args) {
Password longitud = new Password(8);
int indice = longitud.Longitud;
int esFuerte = 0;

for(int i = 1; i <= indice ;i++){
System.out.print(Password.generarPassword());
Password.GetSeguridadContraseña();
}
System.out.println();
System.out.println(Password.esFuerte());

}


protected static int Longitud;
private static char GetAscii;
private static int NumAleatorio;
private static int esFuerte;
private static int Minuscula =0 ;
private static  int mayuscula = 0 ;
private static int Numeros = 0;

public Password(){
this.Longitud = 8;
}
public Password(int longitud){
this.Longitud = longitud;
}

public static char generarPassword(){
GetAscii = 'A';
  for(int i = 1; i <= Longitud;i++){

  NumAleatorio = 32+(int)(Math.random()* 92);
  GetAscii = (char)NumAleatorio;
  if(i == Longitud){
return GetAscii; 
  }

  }
   return GetAscii;
}


  public static void GetSeguridadContraseña(){



if(NumAleatorio >= 65 && NumAleatorio <= 90 ){
mayuscula++;
}
if(NumAleatorio >= 97 && NumAleatorio <= 122 ){
Minuscula++;
}

if(NumAleatorio >= 48 && NumAleatorio <= 57 ){
Numeros++;
}



 
  }
 
  public static  String esFuerte(){
 
  if(Minuscula > 1 && mayuscula > 2 && Numeros > 5){
return "La contraseña es Segura!";
}
  else{
  return "la contraseña es Débil!!";
  }
 
  }

 

}




Mi  pregunta es: ¿una contraseña wifi puede obtener 64 caracteres en total? si es así admite todo tipo de carcateres?, es decir Astericos,letras,numeros?
Título: Re:[Java]Generador de contraseñas + si es fuerte o no
Publicado por: ANTRAX en Marzo 16, 2015, 05:15:38 PM
Hola bro! Muy buen aporte!
Respondiendo un poco a tu pregunta, te dejo esta tabla con los cifrados WEP y WPA y la cantidad de caracteres disponibles en cada uno de ellos

Código (text) [Seleccionar]
WEP:
64-bits = 10 caracteres
128-bits = 26 caracteres
256-bits = 58 caracteres

WPA:
64-bits = 8 caracteres

WPA2:
160-bits = 20 caracteres
506-bits = 64 caracteres


Espero que te sirva y te dejo puntos por tu aporte!

Saludos!
ANTRAX
Título: Re:[Java]Generador de contraseñas + si es fuerte o no
Publicado por: hackmin en Marzo 16, 2015, 06:06:16 PM
Antrax, muchas gracias!

Entonces lo recomendable sería ocupar todos los caracteres por así decirlo no?

Entonces si generamos una contraseña de 64 caracteres como por ejemplo esta:

;9_ptq/dF/A*Lix]fIX)yl$)jZxCzV(`6H/g?vyD#o8>+ nBE.P?^-*$hiIAUyE*

En la web de kaspersky dice http://blog.kaspersky.com/password-check/

Que un ordenador de casa decente tardaría mas de 10.000 siglos en descrifarla...

Entonces me pregunto...

Si una persona pone esa contraseña en su red wifi, practicamente estaría 100% protegido?

y otra cosa en la tabla que tu me mostrastes, sale:
506-bits

¿Eso que es?, es decir los bits que hay en 64 caracteres o la seguridad?
Título: Re:[Java]Generador de contraseñas + si es fuerte o no
Publicado por: po6xsecpo en Marzo 16, 2015, 06:34:04 PM
Muy bueno,le ha dado ideas a este novato. :D graciad
Título: Re:[Java]Generador de contraseñas + si es fuerte o no
Publicado por: ANTRAX en Marzo 17, 2015, 09:05:06 AM
En la WPA2 tenes un Máximo de 63 caracteres/506-bits.
De igual forma, nunca nadie está 100% seguro ponga la password que ponga.
Para poder sacar una WPA podes hacerlo de varias formas..
Por un lado con diccionario o fuerza bruta, que ahí si demoraría 10.000 siglos en romperla, y por otro lado tenes métodos como el Twin Attack, el cual consiste en crear un AP falso y que el cliente se conecte ahí poniendo su contraseña. Una vez hecho esto, el atacante obtendrá esa contraseña sin necesidad de reventarla por fuerza bruta

Saludos!
ANTRAX
Título: Re:[Java]Generador de contraseñas + si es fuerte o no
Publicado por: Snifer en Marzo 17, 2015, 09:50:24 AM
Ademas como aporte a los comentarios de Antrax y adicionar que toda contraseña es rompible a los ataques de fuerza bruta, o bien tecnicas adiciona Ing Social, con ello ya esta hecho todo.

Regards,
Snifer
Título: Re:[Java] Generador de contraseñas + si es fuerte o no
Publicado por: Mr_Pack en Abril 13, 2016, 10:14:12 AM
Hola hackmin genial tu código,  pero creo que hay un error a la hora de la validación o si no es así corrígeme por favor

cuando se llama a la función  esFuerte :

public static  String esFuerte(){
                 
                  if(Minuscula > 1 && mayuscula > 2 && Numeros > 5){
                                return "La contraseña es Segura!";
                         }
                  else{
                          return "la contraseña es Débil!!";
                  }
                 
          }


está validando si el String que se generó como contraseña contiene mas de 1 minúscula, mas de 2 mayúsculas y que contenga mas de 5 números verdad ?
si no es así corrígeme por favor

pero pasa que me genera este pass:
CitarRo%B(hG7
La contraseña es Segura!

el cual contiene mas de 1 minúscula, mas de 2 mayúsculas, PERO no tiene sino 1 solo numero y aún así me marca como segura la contraseña.


Si no entendí bien tu código espero me disculpes, es solo una apreciación.

de todos modos gran aporte :D

Salu2