得到一个需求,觉得做不了: 敏感数据(如身份证号)存在 mysql 中,要求加密存储。但是业务上要根据这段数据的全部或部分进行模糊查询???加密了就没法查了呀。。
有这种实现方案吗??想破脑袋没想出办法来。。。。跪。。。
1
paradoxs 2019-03-29 10:30:08 +08:00
为啥加密就没法查了?
密钥去哪了? |
2
honeycomb 2019-03-29 10:32:06 +08:00 via Android
MySQL 表空间加密? binlog/redo log 的加密应该也有类似手段。
如果是字段本身就得是加密的话比较麻烦 |
3
yokiam 2019-03-29 10:32:50 +08:00 via iPhone
密钥没了?那存储的意义是啥
|
4
0ZXYDDu796nVCFxq 2019-03-29 10:34:34 +08:00 via Android
|
6
tt67wq 2019-03-29 10:39:20 +08:00
把明文放进 es ?
|
8
earendil1412 2019-03-29 10:41:03 +08:00 via Android
可以考虑把要搜索的部分解密出来加一列存进去。再做搜索
|
10
murmur 2019-03-29 10:44:22 +08:00
除非是按字符一对一加密
|
11
mooncakejs 2019-03-29 10:46:29 +08:00
身份证号有什么好加密的,要加密加密后 4 位就够了,前面的基本是公开的。
如果是通用的,参考表达式索引, 加一两个索引列,把能索引的部分抽出来。 |
12
prolic 2019-03-29 11:13:32 +08:00
抽 tag 建明文字段呗
|
13
0ZXYDDu796nVCFxq 2019-03-29 11:40:22 +08:00 via Android
|
14
binux 2019-03-29 11:58:41 +08:00 via Android
Searchable encryption
Homomorphic encryption 听说过,能想像怎么做,没实践过 |
15
mrdemonson 2019-03-29 12:11:23 +08:00 via Android
做个能按单个字符加密的算法,模糊查询先对查询条件加密,再进数据库查询
|