Login Java web com MySQL com criptografia MD5
Publicado por Adriano Silva (última atualização em 29/05/2015)
[ Hits: 6.290 ]
Homepage: https://www.adrianosilvapereira.com.br/
Script de login com criptografia MD5 usando o banco de dados MySQL.
/* Arquivo Auth.java */ package br.ueg.posse.p2.notasfiscais.auth; import java.io.IOException; import java.io.PrintWriter; import java.sql.SQLException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import br.ueg.posse.p2.notasfiscais.criptografia.Criptografia; import br.ueg.posse.p2.notasfiscais.dao.PrestadorDAO; import br.ueg.posse.p2.notasfiscais.dao.UsuarioDAO; import br.ueg.posse.p2.notasfiscais.modelo.Prestador; import br.ueg.posse.p2.notasfiscais.modelo.Usuario; @WebServlet("/Auth") public class Auth extends HttpServlet { private static final long serialVersionUID = 1L; protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean validacao = false; PrintWriter out = response.getWriter(); HttpSession sessao = request.getSession(); sessao.setAttribute("idioma", "pt_BR"); try { UsuarioDAO dao = new UsuarioDAO(); List<Usuario> usuariosCadastrados = dao.lista(); String loginS = request.getParameter("login"); String senhaS = request.getParameter("senha"); String cripto = Criptografia.criptografar(senhaS); System.out.println(senhaS); senhaS = cripto; for (Usuario usuario : usuariosCadastrados) { String loginC = usuario.getLogin(); String senhaC = usuario.getSenha(); System.out.println("Senha do banco........:" + senhaC); System.out.println("Senha do Formulario...:" + senhaS); if (loginS.equals(loginC) && senhaS.equals(senhaC)) { validacao = true; } if (validacao == true) { sessao = request.getSession(true); sessao.setAttribute("login", loginS); sessao.setAttribute("nome", "Administrador do Sistema"); sessao.setMaxInactiveInterval(60 * 10); response.sendRedirect("index.html"); } else { out.println("<!DOCTYPE html>"); out.println("<html>"); out.println("<head>"); out.println("<style>"); out.println("body{font-family: comic sans ms;color:blue;class ='navbar-brand'}"); out.println("</style>"); out.println("</head>"); out.println("<body>"); out.println("<h2>Acesso negado<br></h2>"); out.println("<a href='login.html'><input type='button' value='Va para o Inicio' ></a>"); out.println("</body>"); out.println("</html>"); } } }catch (Exception e) { // TODO: handle exception } } } /* Arquivo Criptografia.java */ package br.ueg.posse.p2.notasfiscais.criptografia; import java.security.*; public class Criptografia { private static MessageDigest md = null; static{ try{ md = MessageDigest.getInstance("MD5"); } catch(NoSuchAlgorithmException ex){ ex.printStackTrace(); } } private static char[] hexCodes(byte[] text) { char[] hexOutput = new char[text.length * 2]; String hexString; for (int i = 0; i < text.length; i++) { hexString = "00" + Integer.toHexString(text[i]); hexString.toUpperCase().getChars(hexString.length() - 2, hexString.length(), hexOutput, i * 2); } return hexOutput; } public static String criptografar(String pwd) { if (md != null) { return new String(hexCodes(md.digest(pwd.getBytes()))); } return null; } } /* Arquivo UsuarioDAO.java */ package br.ueg.posse.p2.notasfiscais.dao; import java.sql.*; import java.util.ArrayList; import java.util.List; import br.ueg.posse.p2.notasfiscais.db.Database; import br.ueg.posse.p2.notasfiscais.modelo.Usuario; public class UsuarioDAO { Connection conexao = null; public UsuarioDAO() throws SQLException{ conexao = Database.getConnection(); } public void gravar(Usuario usuario) { try { String sql = "insert into usuario(login,senha,nome)values(?,?,?)"; PreparedStatement stmt = conexao.prepareStatement(sql); stmt.setString(1, usuario.getLogin()); stmt.setString(2, usuario.getSenha()); stmt.setString(3, usuario.getNome()); stmt.execute(); stmt.close(); conexao.close(); } catch (SQLException e) { System.out.println("nao foi possivel inserir os dados:\n"+e); } } public List<Usuario> lista() throws SQLException{ List<Usuario> Usuarios = new ArrayList<Usuario>(); String sql = "select * from usuario"; try(PreparedStatement stmt = conexao.prepareStatement(sql)){ stmt.execute(); ResultSet rs = stmt.getResultSet(); while (rs.next()){ Usuario usuario = new Usuario(); usuario.setId(rs.getInt("id")); usuario.setLogin(rs.getString("login")); usuario.setSenha(rs.getString("senha")); usuario.setNome(rs.getString("nome")); Usuarios.add(usuario); } return Usuarios; } } } /* Arquivo Usuario.java */ package br.ueg.posse.p2.notasfiscais.modelo; public class Usuario { private int id; private String login; private String senha; private String nome; public Usuario() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } } /* Arquivo Database.java */ package br.ueg.posse.p2.notasfiscais.db; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Database { public static Connection getConnection() throws SQLException{ String url = "jdbc:mysql://127.0.0.1/notasfiscais?user=root&password=root"; Connection conexao = DriverManager.getConnection(url); System.out.println("Conectado."); return conexao; } } /* Arquivo ServletUsuario.java */ package br.ueg.posse.p2.notasfiscais.servlet; import java.io.IOException; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import br.ueg.posse.p2.notasfiscais.criptografia.Criptografia; import br.ueg.posse.p2.notasfiscais.dao.UsuarioDAO; import br.ueg.posse.p2.notasfiscais.modelo.Usuario; /** * Servlet implementation class ServletUsuario */ @WebServlet({ "/ServletUsuario", "/usuario" }) public class ServletUsuario extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#service(HttpServletRequest request, HttpServletResponse response) */ protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String login = request.getParameter("login"); String senha = request.getParameter("senha"); String nome = request.getParameter("nome"); String cripto = Criptografia.criptografar(senha); senha = cripto; System.out.println(senha); //Gravar no Banco Usuario usuario = new Usuario(); usuario.setLogin(login); usuario.setSenha(senha); usuario.setNome(nome); try{ UsuarioDAO dao = new UsuarioDAO(); dao.gravar(usuario); }catch (SQLException e){ System.out.println("Ocorreu um erro"+ e); } } }
JCriptoCesar, a cifra de Cesar em Java
Nenhum comentário foi encontrado.
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Alguém pode me ajudar porfavor como executar comandos ao iniciar no i3... (2)
Debian Bookworm para a versão beta Debian 13 Trixie (2)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba