Luis @luismendes070
Luis @luismendes07007/02/2023 05:21
Compartilhe

Implementação de Criptografia da Conexão Banco de Dados PostgreSQL Dados

    Maven build tool pom.xml Java 8 refactoring

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    
    
    <dependency>
      <groupId>org.postgresql</groupId>
      <artifactId>postgresql</artifactId>
      <scope>runtime</scope>
    </dependency>
    
    
    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-crypto</artifactId>
    </dependency>
    

    application.properties

    spring.datasource.url=jdbc:postgresql://localhost:5432/your_db_name
    spring.datasource.username=your_username
    spring.datasource.password=your_password
    
    @Entity
    @Table(name = "users")
    public class User {
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Long id;
      
      private String username;
      
      private String password;
      
      // Getters and setters for the fields
    }
    
    public interface UserRepository extends JpaRepository<User, Long> {
      User findByUsername(String username);
    }
    
    @Service
    public class UserService {
      private final UserRepository userRepository;
      private final BCryptPasswordEncoder bCryptPasswordEncoder;
    
    
      public UserService(UserRepository userRepository, BCryptPasswordEncoder bCryptPasswordEncoder) {
          this.userRepository = userRepository;
          this.bCryptPasswordEncoder = bCryptPasswordEncoder;
      }
    
    
      public void saveUser(User user) {
          user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
          userRepository.save(user);
      }
    }
    
    @Service
    public class AuthService {
      private final UserRepository userRepository;
      private final BCryptPasswordEncoder bCryptPasswordEncoder;
    
    
      public AuthService(UserRepository userRepository, BCryptPasswordEncoder bCryptPasswordEncoder) {
          this.userRepository = userRepository;
          this.bCryptPasswordEncoder = bCryptPasswordEncoder;
      }
    
    
      public boolean verifyPassword(String username, String password) {
          User user = userRepository.findByUsername(username);
          return user != null
    
    }
    }
    
    https://gist.github.com/luismendes070/d10262b48c03bdec85016ec23c0f7723
    
    https://luismendes070.github.io/curriculo/
    
    Referências
    https://blog.jetbrains.com/idea/2021/06/livestream-summary-fixing-security-flaws-in-spring-boot-applications-using-intellij-idea-and-snyk/
    
    BingChat
    ChatGPT
    
    
    
    Compartilhe
    Comentários (0)