com.addc.commons.passwd.EncryptPass Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of addc-base Show documentation
Show all versions of addc-base Show documentation
The addc-base library supplies classes for creating UUIDs, converting between types, outputting byte arrays with different formats,
support for Julian dates, delay generators, parsing properties files and support for I18N.
package com.addc.commons.passwd;
import java.io.File;
import java.io.IOException;
import java.security.GeneralSecurityException;
import com.addc.commons.io.ConsoleReader;
/**
* The EncryptPass supplies a program interface to the {@link PasswordEncryptor} class.
*
* To generate master key for current user:
*
* java -jar addc-base-2.2.jar -m
* or
* java -jar addc-base-2.2.jar --master
*
* To encrypt a password:
*
* java -jar addc-base-2.2.jar -e
*
*/
@SuppressWarnings({ "PMD.SystemPrintln", "PMD.AvoidPrintStackTrace", "PMD.DoNotCallSystemExit"})
public final class EncryptPass {
private final PasswordEncryptor encryptor;
private final ConsoleReader reader;
private EncryptPass() {
encryptor= new PasswordEncryptor();
reader= new ConsoleReader();
}
private void encryptPass() throws GeneralSecurityException {
char[] pwd= reader.getPassword();
System.out.println(encryptor.encrypt(new String(pwd)));
}
private void genMasterIv() throws IOException {
File masterKeyFile= encryptor.getMasterKeyFile();
if (masterKeyFile.exists() && !reader.yesNo("Overwrite existing key?")) {
return;
}
encryptor.generateMasterKey();
}
/**
* Main program entry point
*
* @param args
* The arguments
*/
public static void main(String[] args) {
EncryptPass ep= new EncryptPass();
if (args.length != 1) {
help();
}
try {
if ("-m".equals(args[0]) || "--master".equals(args[0])) {
ep.genMasterIv();
} else if ("-e".equals(args[0]) || "--encrypt".equals(args[0])) {
ep.encryptPass();
} else if ("-h".equals(args[0]) || "--help".equals(args[0])) {
help();
} else {
help();
}
} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
System.exit(0);
}
private static void help() {
System.out.println("Error Missing parameter");
System.out.println("Usage: java -jar pwd-encrypt-3.1.jar <-e | -m | -h>");
System.out.println("Where:");
System.out.println(" -m --master : Generate a master passsword for the current user");
System.out.println(" -e --encrypt : Encrypt a password");
System.out.println(" -h --help : show this help");
System.exit(-1);
}
}