Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

proteção de senha

public class Principal {
    public static void main(String[] args) {

Usuario usuario1=new Usuario("felipe","computador1");
usuario1.alterarSenha("computador1","coconut");
        System.out.println(usuario1.getNome());
        usuario1.exibirDados("coconut");


    }
}
public class Usuario {
    private String nome;
    private String senha;

    public Usuario(String nome, String senha) {
        this.nome = nome;
        this.senha = senha;
    }

    public String getNome() {
        return nome;
    }

    public void exibirDados(String senhaAtual) {
        if(senhaAtual.equalsIgnoreCase(this.senha)){
            System.out.println("senha: "+this.senha+"\n nome: " +getNome());
        }
        else{
            System.out.println(" senha invalida! não foi possivel acessar os dados");
        }
    }

    public void alterarSenha(String senhaAtual, String novaSenha) {
        if(senhaAtual.equalsIgnoreCase(this.senha)){
            this.senha=novaSenha;
        }
        else{
            System.out.println("senha invalida! não foi possivel alterar a senha");
        }
    }
}
1 resposta

Oi, Felipe. Tudo certo?

Seu código está funcionando corretamente para o objetivo proposto. Você implementou os métodos para alterar a senha e exibir dados condicionados à validação da senha atual, o que preserva o encapsulamento da senha do usuário. A utilização do método equalsIgnoreCase para comparar as senhas é adequada para permitir correspondência independente de caixa, mas vale considerar se essa flexibilidade é desejada em um cenário real, onde senhas geralmente são case-sensitive por razões de segurança.

Uma sugestão para aprimorar seu código seria usar equals, em vez de equalsIgnoreCase, para manter a sensibilidade de maiúsculas e minúsculas nas senhas, alinhando-se a boas práticas de segurança.

Você já pensou em como o encapsulamento pode ser estendido para proteger não apenas a senha, mas outros dados sensíveis de um usuário em sistemas maiores? Como garantir que essas informações só possam ser acessadas ou modificadas por processos autorizados?

Parabéns pelo empenho no exercício. O fórum está à disposição para qualquer dúvida futuramente.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!