使用NamedQueries查询加密列



我有一个java应用程序与JPA和我使用oracle DB。实体的一个属性需要在保存到DB之前进行加密。我正在使用应用程序加密,Base64。我有一个根据这个属性搜索实体的命名查询。现在,由于加密,我需要首先加密来自应用程序的值,并在数据库中搜索加密值,但查询无法找到具有此值的实体。

是否存在加密值的命名查询问题??有解决办法吗?

谢谢

一些事情,Base64是编码而不是加密,所以不是一个安全的方式来隐藏数据。除非您在base64编码之前用其他东西加密它,否则您可能希望更改它。

数据库不应该有问题,它应该像对待其他字符串一样对待它。虽然我以前遇到过这个问题,当数据库字段长度小于存储加密字符串所需的长度时。

手动检入数据库,以防在插入密码时数据库被截断。还要在SQL客户端中运行一个测试,以确保它的行为出乎意料,如果它在SQL客户端中工作,则应用程序没有向数据库发送正确的值(或根据其他字段过滤它)

最新更新