ajout du mode batch

This commit is contained in:
Jephté Clain 2015-05-22 16:41:26 +04:00
parent ae129fff39
commit dea524a87b
1 changed files with 39 additions and 5 deletions

View File

@ -4,9 +4,12 @@ compiler=javac
mainClass=upassword mainClass=upassword
compileAndGo compileAndGo
import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileOutputStream; import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter; import java.io.StringWriter;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -4758,6 +4761,8 @@ public class upassword {
return Pattern.matches("\\d{8}", codEtu); return Pattern.matches("\\d{8}", codEtu);
} }
private static boolean ETU_PASSWORD_GROUPS_LOCKED = true;
private static final String[] ETU_PASSWORD_GROUPS = new String[] { private static final String[] ETU_PASSWORD_GROUPS = new String[] {
// //
"jiPV/09lHKI1uz+a9vUpX0yMUIy9YAeIwfHPXoA81ik=", "jiPV/09lHKI1uz+a9vUpX0yMUIy9YAeIwfHPXoA81ik=",
@ -4770,9 +4775,12 @@ public class upassword {
"yYjWpZXP2EMWp7VZR+0xPA=="}; "yYjWpZXP2EMWp7VZR+0xPA=="};
private static final void unlockEtuPasswordGroups(String skey) throws Exception { private static final void unlockEtuPasswordGroups(String skey) throws Exception {
byte[] key = AESEnc.getKey(skey); if (ETU_PASSWORD_GROUPS_LOCKED) {
for (int i = 0; i < ETU_PASSWORD_GROUPS.length; i++) { byte[] key = AESEnc.getKey(skey);
ETU_PASSWORD_GROUPS[i] = AESEnc.sdecrypt(ETU_PASSWORD_GROUPS[i], key); for (int i = 0; i < ETU_PASSWORD_GROUPS.length; i++) {
ETU_PASSWORD_GROUPS[i] = AESEnc.sdecrypt(ETU_PASSWORD_GROUPS[i], key);
}
ETU_PASSWORD_GROUPS_LOCKED = false;
} }
} }
@ -4820,7 +4828,7 @@ public class upassword {
+ "\n avec les options -G, -s, -e et -d" + "\n avec les options -G, -s, -e et -d"
+ "\n --shell" + "\n --shell"
+ "\n Afficher les valeurs pour évaluation par le shell"); + "\n Afficher les valeurs pour évaluation par le shell");
System.exit(0); return;
} }
EAction action = EAction.HASH_PASSWORD; EAction action = EAction.HASH_PASSWORD;
@ -5081,7 +5089,33 @@ public class upassword {
} }
} }
private static final Pattern SPACES = Pattern.compile("\\s+");
public static void main(String[] args) { public static void main(String[] args) {
new upassword().run(args); upassword upassword = new upassword();
if (args.length > 0 && args[0].equals("--batch")) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i < args.length; i++) {
if (i > 1) sb.append(" ");
sb.append(args[i]);
}
String after = sb.toString();
if (after.length() == 0) after = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
while (true) {
String line = br.readLine();
if (line == null) break;
upassword.run(SPACES.split(line));
if (after != null) println(after);
}
} catch (IOException e) {
die(null, e);
}
} else {
upassword.run(args);
}
} }
} }