1
resposta

Como criptografar a senha assim que cadastrar o usuario?

Professor surgiu uma duvida minha como eu criptografaria a senha automaticamente?

1 resposta

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:

  1. 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>
    
  2. 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();
        }
    }
    
  3. 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!