我有一个使用H2(测试)和Postgres( 生产环境 )的Sprint-Boot应用程序 . 我需要保证客户数据的安全 . 我还需要能够搜索数据库(使用带有Hibernate的Spring-Data-JPA)并使用该数据,因此我觉得我需要一种加密 . 我看到有AttributeConverters,Jayst和Spring Security有一个接口TextEncryptor,似乎适合加密和解密 . 我认为Spring可能已将其内置到他们的Data-JPA / Security项目中,但我还没有找到它 . 我确实使用BCryptPasswordEncoder来保护我的密码 .

但是,我不确定使用Java / Spring / Hibernate加密/存储/搜索/解密数据的好方法 . 我的第一个想法是,如果加密你就无法搜索它 . 我想也许我应该让数据库处理加密,但我阅读的文章主张反对 .

谁能提出一个非常安全的解决方案?