Login Java web com MySQL com criptografia MD5

Publicado por Adriano Silva (última atualização em 29/05/2015)

[ Hits: 6.318 ]

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

Criptografia com MD5

planetas

Simples PortScan

JCriptoCesar, a cifra de Cesar em Java


  

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