Junior — Middle
Como armazenar e recuperar informações de senha de forma segura após a sua entrada?
sobes.tech IA
Resposta da IA
Para armazenamento seguro e recuperação de senha após a sua entrada em Java, recomenda-se:
- Utilizar a classe
char[]em vez deStringpara armazenar a senha na memória, pois as strings são imutáveis e permanecem na memória por mais tempo. - Após o uso, limpar o array de senha, por exemplo, preenchendo-o com zeros.
- Nunca armazenar a senha em texto claro na memória ou nos logs.
- Para armazenar senhas em banco de dados, usar hashing com sal (por exemplo, BCrypt, PBKDF2).
Exemplo de obtenção segura de senha a partir do console:
import java.io.Console;
Console console = System.console();
if (console != null) {
char[] password = console.readPassword("Digite a senha: ");
// Use a senha
// Limpar o array após uso
java.util.Arrays.fill(password, ' ');
} else {
System.out.println("Console indisponível");
}