Professor surgiu uma duvida minha como eu criptografaria a senha automaticamente?
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!
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!