[已解决]php(laravel)框架,如何对加密后的数据进行搜索(关键字搜索)

1.背景

现在国内环境开始越来越正视用户隐藏安全,所有和用户相关的信息(姓名,手机号,昵称,地址 ..等)数据库存储都会进行加密处理,我觉得IT在设计的时候也要有这种意识,更多的关注隐私安全。

2). 问题

隐藏数据加密后是以hash串的方式存储在数据库中,这样会有几个问题,因为数据加密后和原值完全不一样。100%匹配搜索这个是没有问题的,但是想通过关键字找查就行不通了,以前的like等完全用不了

3). 目的

1.可以全文搜索
2.可以通过关键字匹配搜索

4). 尝试解决方案

  • 把所有关键字先解密,再foreach匹配
    1. 优点:确实可以查了,并且也可以通过关键字查
    2. 缺点:数据小还好,稍大点就不行。太消耗性能

5). 求助点

有没有更优的方案,可以达到目的

已解决 推荐博客内容【https://ningyu1.github.io/20201230/encrypted-data-fuzzy-query.html】

备注. 为什么要加密,我觉得我有必要解释下….

客观原因:
    客观原因不说了,想做的自然做,不想做的大家都不想做。这东西费力不讨好
直观原因:
    请参照 GDPR法规 和隐私政策保护 国标GB/T 35273-2017   有明确指出   "数据存储加密:线上数据加密一般会对结构化数据的某几个敏感字段加密,比如含有个人隐私信息的字段"

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
随波逐流

进屋了还要穿衣服么?

2年前 评论

加密到数据库储存感觉是毫无意义,只需要在展示的地方加密或者脱敏即可

2年前 评论

有点儿不懂,需要搜索的数据还加吉尔密,对内部人员,做好数据的权限控制,导出啥的混淆一下

2年前 评论

新的隐私法是要求数据库存储敏感字段加密的,可以试试国密SM4,对称加密,这样就可以检索了

2年前 评论
JerryCyl (楼主) 2年前
ntdgg 2年前

内部搭建一个“明文数据库”用于搜索不行吗?

8个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!