améliorer l'aide affichée

afficher si un mot de passe correspond au salt spécifié
This commit is contained in:
Jephté Clain 2014-09-11 09:35:05 +04:00
parent 7895beb4ba
commit e7972c46c2
1 changed files with 30 additions and 8 deletions

View File

@ -4743,7 +4743,22 @@ public class upassword {
+ "\n upassword -f aeskeyfile -G [password [salt]]"
+ "\n upassword -f aeskeyfile -s"
+ "\n upassword -f aeskeyfile -e clear"
+ "\n upassword -f aeskeyfile -d crypted");
+ "\n upassword -f aeskeyfile -d crypted"
+ "\n\nOPTIONS"
+ "\n -p, --hash-password"
+ "\n Crypter un mot de passe (option par défaut). Si le mot de passe en clair"
+ "\n et/ou le salt ne sont pas spécifiés, ils sont choisis au hasard. "
+ "\n -G, --aes-genkey"
+ "\n Générer une clé AES pour utilisation avec les options -s, -e, -d"
+ "\n -s, --aes-showkey"
+ "\n Afficher encodée en base64 la clé AES contenue dans le fichier spécifié"
+ "\n -e, --aes-encrypt"
+ "\n Crypter un mot de passe avec la clé AES spécifiée"
+ "\n -d, --aes-decrypt"
+ "\n Décrypter un mot de passe avec la clé AES spécifiée"
+ "\n -f, --aes-keyfile"
+ "\n Spécifier le fichier contenant la clé AES. Cette option est obligatoire"
+ "\n avec les options -G, -s, -e et -d");
System.exit(0);
}
@ -4752,24 +4767,24 @@ public class upassword {
int i = 0, max = args.length;
while (i < args.length) {
String arg = args[i];
if (arg.equals("-p")) {
if (arg.equals("-p") || arg.equals("--hash-password")) {
action = EAction.HASH_PASSWORD;
i++;
} else if (arg.equals("-G")) {
} else if (arg.equals("-G") || arg.equals("--aes-genkey")) {
action = EAction.GEN_AESKEY;
i++;
} else if (arg.equals("-s")) {
} else if (arg.equals("-s") || arg.equals("--aes-showkey")) {
action = EAction.SHOW_AESKEY;
i++;
} else if (arg.equals("-e")) {
} else if (arg.equals("-e") || arg.equals("--aes-encrypt")) {
action = EAction.AES_ENCRYPT;
i++;
} else if (arg.equals("-d")) {
} else if (arg.equals("-d") || arg.equals("--aes-decrypt")) {
action = EAction.AES_DECRYPT;
i++;
} else if (arg.substring(0, 2).equals("-f")) {
} else if (arg.substring(0, 2).equals("-f") || arg.equals("--aes-keyfile")) {
int shift = 1;
if (arg.equals("-f")) {
if (arg.equals("-f") || arg.equals("--aes-keyfile")) {
if (args.length > i + 1) {
aeskeyfile = args[i + 1];
shift = 2;
@ -4850,18 +4865,21 @@ public class upassword {
.getNormalized();
println("salt: " + cryptSalt);
println("crypt: " + crypt);
if (salt.equals(crypt)) println("match: true");
} else if (Password.isSshaScheme(salt)) {
byte[] sshaSalt = Salt.getSshaSalt(salt);
String ssha = getPasswordBinarySalt(clear, Password.SSHA, sshaSalt)
.getNormalized();
println("salt: " + toHex(sshaSalt));
println("ssha: " + ssha);
if (salt.equals(ssha)) println("match: true");
} else if (Password.isSmd5Scheme(salt)) {
byte[] smd5Salt = Salt.getSmd5Salt(salt);
String smd5 = getPasswordBinarySalt(clear, Password.SMD5, smd5Salt)
.getNormalized();
println("salt: " + toHex(smd5Salt));
println("smd5: " + smd5);
if (salt.equals(smd5)) println("match: true");
} else {
println("salt: " + salt + " !not supported");
}
@ -4880,13 +4898,17 @@ public class upassword {
.getNormalized();
if (!salt.equals(cryptSalt)) println("salt: " + cryptSalt);
println("crypt: " + crypt);
if (salt.equals(crypt)) println("match: true");
}
if (salt.equals(ssha)) println("match: true");
if (salt.equals(smd5)) println("match: true");
} else {
String cryptSalt = Salt.getCryptSalt(salt);
String crypt = getPasswordCryptSalt(clear, Password.CRYPT, cryptSalt)
.getNormalized();
println("salt: " + cryptSalt);
println("crypt: " + crypt);
if (salt.equals(crypt)) println("match: true");
}
}
}