mysql 国密加密字段排序和模糊搜索
- 双写
加密字段和明文分别存到两个字段中 , 查询只对明文进行操作 .
(备注: 这种只是应对检查或者设计的方式 , 对于程序没有实际意义)
- 使用函数
利用mysql已有加解密的函数 , 在排序和模糊搜索之前解密数据 , 再进行排序或者模糊搜索 .
(备注: 查询速度受到很大影响 , 不能使用索引 )
- 一个字符一个字符加密
比如 "123"三个字符 , 分别对"1","2","3"三个字符进行加密 , 然后排序的时候直接对加密数据排序 , 不再解密
模糊搜索的时候 , 先对搜索数据的每个字符进行加密 , 然后再将密文进行模糊搜索
(备注: 这样必须保证每次加密完的数据一致性 , 数据安全性不能完全保证)
- 据说还有一种mysql插件 , 可以支持原生mysql国密加密...目前还没有找到具体实施方法...