gleimar 2017-08-05 22:40:45 +00:00
parent 9df105a41d
commit da45a71916
2 changed files with 33 additions and 29 deletions

View File

@ -78,7 +78,8 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService {
if (senha != null) {
// validación complejidad contrasena
if (ApplicationProperties.getInstance().contrasenaValidaComplejidad()) {
ContrasenaUtileria.validarContrasenaCompleja(senha);
ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria();
contrasenaUtileria.validarContrasenaCompleja(senha);
}
// encriptación contrasena
@ -139,7 +140,8 @@ public class UsuarioServiceImpl implements UsuarioService, UserDetailsService {
if (senha != null) {
// validación complejidad contrasena
if (ApplicationProperties.getInstance().contrasenaValidaComplejidad()) {
ContrasenaUtileria.validarContrasenaCompleja(senha);
ContrasenaUtileria contrasenaUtileria = new ContrasenaUtileria();
contrasenaUtileria.validarContrasenaCompleja(senha);
}
// encriptación contrasena

View File

@ -7,14 +7,34 @@ import java.util.regex.Pattern;
import com.rjconsultores.ventaboletos.exception.BusinessException;
public class ContrasenaUtileria {
private static final int CANT_MIN_CARACTER = 8;
private static final int CANT_MIN_NUMERO = 1;
private static final int CANT_MIN_LETRA = 1;
private static final int CANT_ESPECIALES = 2;
private int CANT_MIN_CARACTER = 6;
private int CANT_MIN_NUMERO = 1;
private int CANT_MIN_LETRA = 1;
private int CANT_ESPECIALES = 0;
private static Pattern patternHayNumero = Pattern.compile(".*[0-9]+.*");
private static Pattern patternHayLetra = Pattern.compile(".*[a-zA-Z]+.*");
private static Pattern patternHayEspeciales = Pattern.compile(".*[^\\w]+.*[^\\w]+.*");
private Pattern patternHayNumero = null;
private Pattern patternHayLetra = null;
private Pattern patternHayEspeciales = null;
public ContrasenaUtileria(){
this.cargarPattern();
}
private void cargarPattern(){
patternHayNumero = Pattern.compile(String.format(".*[0-9]{%s,}+.*",CANT_MIN_NUMERO));
patternHayLetra = Pattern.compile(String.format(".*[a-zA-Z]{%s,}+.*",CANT_MIN_LETRA));
patternHayEspeciales = Pattern.compile(String.format("((.*[\\W]){%s,})",CANT_ESPECIALES));
}
public ContrasenaUtileria(int cantMinCaracteres,int cantMinNumeros,int cantMinLetra,int cantEspeciales){
CANT_ESPECIALES = cantEspeciales;
CANT_MIN_CARACTER = cantMinCaracteres;
CANT_MIN_LETRA = cantMinLetra;
CANT_MIN_NUMERO = cantMinNumeros;
this.cargarPattern();
}
public static String encriptarContrasena(String contrasena){
MessageDigest md;
@ -27,7 +47,7 @@ public class ContrasenaUtileria {
byte[] pass = md.digest(contrasena.getBytes());
return Base64.byteArrayToBase64(pass);
}
public static void validarContrasenaCompleja(String contrasena) throws BusinessException{
public void validarContrasenaCompleja(String contrasena) throws BusinessException{
int length = contrasena.length();
if (length< CANT_MIN_CARACTER){
@ -46,24 +66,6 @@ public class ContrasenaUtileria {
throw new BusinessException("complejidadContrasena.CANT_ESPECIALES", new Object[]{CANT_ESPECIALES});
}
}
// public static void main(String args[]){
// System.out.println(ContrasenaUtileria.encriptarContrasena("gleimar"));
//
// LabelLocator teste = new LabelLocator() {
//
// @Override
// public URL locate(Locale arg0) throws Exception {
// return new File("E:/scia_ventaboletos_transpais_senda/sco/AdmVenta/Web/trunk/ventaboletos/web/WEB-INF/i3-label_pt_BR.label").toURI().toURL();
// }
// };
// Labels.register(teste);
// try {
// ContrasenaUtileria.validarContrasenaCompleja("asdfasdf1@@");
// System.out.println("ok");
// } catch (BusinessException e) {
// System.out.println(e.getLocalizedMessage());
// }
//
// }
}