[Java] Generador de contraseñas + si es fuerte o no

  • 6 Respuestas
  • 12588 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado hackmin

  • *
  • Underc0der
  • Mensajes: 67
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
Código: (java) You are not allowed to view links. Register or Login
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?
« Última modificación: Marzo 20, 2015, 08:54:02 am por Expermicid »

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5774
  • Actividad:
    100%
  • Country: ar
  • Reputación 42
  • ANTRAX
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email
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) You are not allowed to view links. Register or Login
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


Desconectado hackmin

  • *
  • Underc0der
  • Mensajes: 67
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
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:

Código: You are not allowed to view links. Register or Login
;9_ptq/dF/A*Lix]fIX)yl$)jZxCzV(`6H/g?vyD#o8>+ nBE.P?^-*$hiIAUyE*
En la web de kaspersky dice You are not allowed to view links. Register or Login

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?

Desconectado po6xsecpo

  • *
  • Underc0der
  • Mensajes: 44
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
    • Email
Muy bueno,le ha dado ideas a este novato. :D graciad

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5774
  • Actividad:
    100%
  • Country: ar
  • Reputación 42
  • ANTRAX
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email
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


Desconectado Snifer

  • *
  • Ex-Staff
  • *****
  • Mensajes: 1439
  • Actividad:
    0%
  • Reputación 1
  • [email protected]'s
  • Twitter: sniferl4bs
    • Ver Perfil
    • Snifer@L4bs
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
You are not allowed to view links. Register or Login


Llaman traidor a la persona que evito que caiga el foro, gente bruta!



Desconectado Mr_Pack

  • *
  • Underc0der
  • Mensajes: 59
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • r00tc0d3rs
    • Email
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 :

Código: You are not allowed to view links. Register or Login
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:
Citar
Ro%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
____________________________

my best crime is myself