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?
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
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
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?
Muy bueno,le ha dado ideas a este novato. :D graciad
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
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
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