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