Login Java web com MySQL com criptografia MD5
Publicado por Adriano Silva (última atualização em 29/05/2015)
[ Hits: 6.292 ]
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.
Atenção a quem posta conteúdo de dicas, scripts e tal (1)
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
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
Instalar Google Chrome no Debian e derivados
Consertando o erro do Sushi e Wayland no Opensuse Leap 15
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
[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