Professor surgiu uma duvida minha como eu criptografaria a senha automaticamente?
Professor surgiu uma duvida minha como eu criptografaria a senha automaticamente?
Olá, Marcos!
Para criptografar a senha de um usuário automaticamente ao cadastrá-lo em uma aplicação Spring Boot, você pode utilizar a classe BCryptPasswordEncoder
que faz parte do Spring Security. Essa classe fornece uma maneira fácil de criptografar senhas antes de armazená-las no banco de dados.
Aqui está um exemplo de como você pode fazer isso:
Adicione a dependência do Spring Security ao seu projeto: Caso ainda não tenha, adicione a seguinte dependência no seu arquivo pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
Crie um bean de BCryptPasswordEncoder
: Em uma classe de configuração, crie um bean para o BCryptPasswordEncoder
:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
public class SecurityConfig {
@Bean
public PasswordEncoder passwordEncoder() {
return new BCryptPasswordEncoder();
}
}
Use o BCryptPasswordEncoder
ao salvar o usuário: No seu serviço de cadastro de usuário, utilize o BCryptPasswordEncoder
para criptografar a senha antes de salvá-la:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Service;
@Service
public class UsuarioService {
@Autowired
private PasswordEncoder passwordEncoder;
public void cadastrarUsuario(Usuario usuario) {
String senhaCriptografada = passwordEncoder.encode(usuario.getSenha());
usuario.setSenha(senhaCriptografada);
// Salve o usuário no banco de dados
}
}
Ao seguir esses passos, a senha do usuário será criptografada automaticamente antes de ser armazenada. Isso ajuda a proteger as senhas dos usuários em caso de vazamento de dados.
Bons estudos!