首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Spring和PostgreSQL对DB行中的加密值实现搜索功能

问如何使用Spring和PostgreSQL对DB行中的加密值实现搜索功能
EN

Stack Overflow用户
提问于 2020-06-25 12:49:30
回答 2查看 411关注 0票数 0

我们使用Spring进行web开发和PostgreSQL作为后端。

在user_table中,我们以加密的格式存储用户移动号码,对于加密和解密值,在业务逻辑层使用AES算法。

我们在前面显示用户列表,并提供了“搜索过滤器”文本框元素,以便用户可以搜索用户名中包含的任何值或user_table行中的城市、州等其他值。

请注意,我们在服务器端使用分页。。

但是,由于数据库中的移动号码存储在加密的format.If中,所以我们不能在数据库中进行搜索,我们使用客户端分页,这样就可以在列表中进行搜索,但是不能将分页从服务器端更改到客户端。

请指导我如何使用加密值的DB中的移动号码搜索用户。

EN

回答 2

Stack Overflow用户

发布于 2020-06-25 13:11:00

对于数据库来说,这是不可能的:如果在数据库中加密了值,数据库就不知道明文值。这有利于安全性,但数据库不能为该值使用索引。

例外情况可能是搜索相等:您可以加密正在查找的值,并使用btree或hash索引搜索数据库中的所有值,其加密形式正是该值。

票数 0
EN

Stack Overflow用户

发布于 2020-06-25 16:32:28

如果您的加密方法使用salt或随机迭代计数,那么您不能在数据库中这样做(只是'AES‘并没有告诉我们这一点)。如果没有,那么使用相同密钥加密的相同值每次都会给出相同的答案。然后,您应该能够对客户端上的查询项进行加密,并将其发送到数据库以搜索相等性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62575755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档