1
resposta

[Dúvida] Dúvida Autenticação

Em um sistema que use a Classe JPasswordField devo usar o método getPassword() que retorna um char[] da senha digitada pelo usuário. Tenho dúvidas a como tratar isso se tratando de comunição com banco de dados.

Por exemplo: Acredito que transformar esse char em uma String não é viável, visto que a senha ficaria jogada no código novamente como acontece com o getText().

1 resposta

Olá Marcos!

Entendo a sua dúvida em relação à autenticação de senha usando a classe JPasswordField. Realmente, transformar o char[] em uma String não é uma prática segura, pois a String é imutável e fica armazenada na memória, podendo ser acessada por outros processos.

Uma alternativa segura é utilizar o método getPassword() para obter o char[] da senha digitada pelo usuário e, em seguida, convertê-lo em um array de bytes usando o método getBytes(). Assim, você pode armazenar a senha de forma segura no banco de dados.

Aqui está um exemplo de como você pode fazer isso:

JPasswordField passwordField = new JPasswordField();
char[] passwordChars = passwordField.getPassword();
byte[] passwordBytes = new String(passwordChars).getBytes();

// Agora você pode armazenar o array de bytes no banco de dados
// e garantir que a senha não ficará exposta no código

Lembre-se de que essa é apenas uma sugestão e você pode adaptar o código de acordo com as necessidades do seu sistema.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software