Comparação

1 resposta
java
Henri199

Que estou errando pra comparar a senha do banco criptografado com a do usuario?

Metodo logar

public void logar() {
	String sql = "select * from  tbatendente where login =? and senha =?";
	
	try {
		// pega que foi digitado pelo usuário da caixa de texto, usuario e senha
		pst = conexao.prepareStatement(sql);
		pst.setString(1, txtUsuario.getText());
		pst.setString(2,(txtSenha.getText())); devo chamar o metodo aqui????

Em outra classe

private void Adicionar() {
	String sql = "insert into tbatendente(Nomeate,endate,Telefone,Cpf,email,senha,login,perfil)" + " values(?,?,?,?,?,?,?,?)";
	String senhaDigitada= txtSenhaAtendente.getText();
	
	try {
		//gera o hs 
		MessageDigest al = MessageDigest.getInstance("SHA-256");
		byte messageDigest[] = al.digest(senhaDigitada.getBytes("UTF-8"));
		StringBuilder hexString = new StringBuilder();
		
		for (byte b : messageDigest) {
			// mascara de formatação em 
			hexString.append(String.format("%02X", 0xFF & b));
		}
		
		String senhap = hexString.toString();

1 Resposta

Lucas_Camara

Crie uma classe chamada, por exemplo: Criptografia:

public class Criptografia {

	public static String criptografar(String valor) {
		Objects.requireNonNull(valor, "Valor não pode ser nulo!");
		
		MessageDigest al = MessageDigest.getInstance("SHA-256");
		byte messageDigest[] = al.digest(senhaDigitada.getBytes("UTF-8"));
		StringBuilder hexString = new StringBuilder();
		
		for (byte b : messageDigest) {
			// mascara de formatação em 
			hexString.append(String.format("%02X", 0xFF & b));
		}
		
		return hexString.toString();
	}
}

Ao logar, faça assim:

public void logar() {
	String nomeDeUsuario = txtUsuario.getText();
	String senhaCriptografada = Criptografia.criptografar(txtSenha.getText());
	
	try {
		String sql = "select * from  tbatendente where login = ? and senha = ?";
		pst = conexao.prepareStatement(sql);
		pst.setString(1, nomeDeUsuario);
		pst.setString(2, senhaCriptografada);

E ao criar o usuário, use o mesmo método para criptografar a senha para salvar no banco.

Criado 11 de junho de 2020
Ultima resposta 12 de jun. de 2020
Respostas 1
Participantes 2