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/

Download NotasFiscais.tar.bz2




Script de login com criptografia MD5 usando o banco de dados MySQL.

  



Esconder código-fonte

/*  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);
        }

    }

}

Scripts recomendados

Criptografia com MD5

JCriptoCesar, a cifra de Cesar em Java

Simples PortScan

planetas

Criptografia


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts