Commit 67a9e868 by Emanuel Lugo

Login with MD5 HASH ENCRYPTION ADDED

parent e3218568
...@@ -10,7 +10,7 @@ public class DataBase { ...@@ -10,7 +10,7 @@ public class DataBase {
try{ try{
Class.forName("org.postgresql.Driver"); Class.forName("org.postgresql.Driver");
con= DriverManager con= DriverManager
.getConnection("jdbc:postgresql://localhost:5432/Bootcamp_th", .getConnection("jdbc:postgresql://localhost:5432/bootcamp_th",
"postgres", "postgres"); "postgres", "postgres");
if(con != null){ if(con != null){
......
...@@ -3,6 +3,7 @@ package com.roshka.proyectofinal.entity; ...@@ -3,6 +3,7 @@ package com.roshka.proyectofinal.entity;
public class LoginBean { public class LoginBean {
private String username; private String username;
private String password; private String password;
private String correo;
public String getUsername() { public String getUsername() {
return username; return username;
...@@ -19,4 +20,12 @@ public class LoginBean { ...@@ -19,4 +20,12 @@ public class LoginBean {
public void setPassword(String password) { public void setPassword(String password) {
this.password = password; this.password = password;
} }
public void setCorreo(String correo) {
this.correo = correo;
}
public String getCorreo() {
return correo;
}
} }
...@@ -4,6 +4,7 @@ public class Usuario { ...@@ -4,6 +4,7 @@ public class Usuario {
private int id; private int id;
private String nombre,apellido,correo,contrasena; private String nombre,apellido,correo,contrasena;
public Usuario() { public Usuario() {
} }
......
...@@ -6,27 +6,27 @@ import com.roshka.proyectofinal.entity.LoginBean; ...@@ -6,27 +6,27 @@ import com.roshka.proyectofinal.entity.LoginBean;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class LoginDao { public class LoginDao {
public boolean validate (LoginBean loginBean) { public boolean validate (LoginBean loginBean) {
int status = 0; boolean status = false;
try { try {
Connection con = DataBase.getConnection(); Connection con = DataBase.getConnection();
PreparedStatement ps=con.prepareStatement( PreparedStatement ps=con.prepareStatement(
"select * from usuarios where username=? and password = ?"); "select * from usuario where correo=? and contrasena = ?");
ps.setString(1,loginBean.getUsername()); ps.setString(1,loginBean.getCorreo());
ps.setString(2, loginBean.getPassword()); ps.setString(2, loginBean.getPassword());
status=ps.executeUpdate(); ResultSet rs = ps.executeQuery();
status = rs.next();
con.close(); con.close();
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
if (status > 0) return true ; return status ;
else return false ;
} }
......
...@@ -2,6 +2,8 @@ package com.roshka.proyectofinal.login; ...@@ -2,6 +2,8 @@ package com.roshka.proyectofinal.login;
import java.io.IOException; import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServlet;
...@@ -9,6 +11,8 @@ import jakarta.servlet.http.HttpServletRequest; ...@@ -9,6 +11,8 @@ import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
import com.roshka.proyectofinal.entity.LoginBean; import com.roshka.proyectofinal.entity.LoginBean;
import com.roshka.proyectofinal.login.md5JavaHash;
/** /**
* Servlet implementation class LoginServlet * Servlet implementation class LoginServlet
...@@ -38,13 +42,23 @@ public class LoginServlet extends HttpServlet { ...@@ -38,13 +42,23 @@ public class LoginServlet extends HttpServlet {
*/ */
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
LoginDao loginDao = new LoginDao(); LoginDao loginDao = new LoginDao();
md5JavaHash passEncrip = new md5JavaHash();
String passwordMD5 = "";
String username = request.getParameter("username"); String username = request.getParameter("username");
String correo = request.getParameter("correo");
String password = request.getParameter("password"); String password = request.getParameter("password");
LoginBean loginBean = new LoginBean(); LoginBean loginBean = new LoginBean();
loginBean.setUsername(username); loginBean.setUsername(username);
loginBean.setPassword(password); try {
passwordMD5 = passEncrip.getHashPass(password);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
loginBean.setPassword(passwordMD5);
loginBean.setCorreo(correo);
System.out.println("EL pass encriptado es: " +passwordMD5);
if (loginDao.validate(loginBean)) if (loginDao.validate(loginBean))
{ {
......
package com.roshka.proyectofinal.login;
import java.security.*;
public class md5JavaHash {
private String hashpass="";
public String getHashPass(String password) throws
NoSuchAlgorithmException{
String plainText = password;
MessageDigest mdAlgorithm = MessageDigest.getInstance("MD5");
mdAlgorithm.update(plainText.getBytes());
byte[] digest = mdAlgorithm.digest();
StringBuffer hexString = new StringBuffer();
for (int i = 0; i < digest.length; i++) {
plainText = Integer.toHexString(0xFF & digest[i]);
if (plainText.length() < 2) {
plainText = "0" + plainText;
}
hexString.append(plainText);
}
hashpass = hexString.toString();
return hashpass;
}
}
...@@ -8,9 +8,10 @@ ...@@ -8,9 +8,10 @@
<div align=" center"> <div align=" center">
<h1>User Login Form</h1> <h1>User Login Form</h1>
<form action="login" method="post"> <form action="login" method="post">
<table> <table align = "center">
<tr><td>User Name:</td> <td><input type="text" name = "username"></td></tr> <tr><td>Correo:</td> <td><input type="text" name = "correo"></td></tr>
<tr><td>Password:</td><td><input type="password" name="password"></td></tr> <tr><td>Password:</td><td><input type="password" name="password"></td></tr>
<tr><td><input type="submit" value="Login"/></td></tr> <tr><td><input type="submit" value="Login"/></td></tr>
</table> </table>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment