人生倒计时
- 今日已经过去小时
- 这周已经过去天
- 本月已经过去天
- 今年已经过去个月
本文目录一览:
加密后的数据如何进行模糊查询?
实现思路:对密文数据进行固定长度的分词组合,将分词组合的结果集分别进行加密,然后存储到扩展列。查询时,通过key like %partial%进行模糊匹配。优劣性:优点:实现起来不算复杂,使用起来也较为简单;可以利用数据库索引优化查询速度;适用于大多数场景。
另一种方法是对密文进行分词组合,将分词组合后的结果集进行加密存储,查询时通过LIKE条件进行模糊查找。这种方法成本较高,但可以利用数据库索引来优化查询。分词组合需要设置合适的字符分组长度,以平衡存储成本和安全性。这种方法在电商平台如淘宝、拼多多、京东等广泛应用。
常规做法通常在数据库中实现加解密函数,使用decode(key)函数配合模糊查询,比如在AES或DES的基础上,对密文进行分词存储,利用索引优化查询。虽然成本增加,但对于性能要求不高的场景,这是可行的。
加密数据模糊查询主要分为三类方法: **内存加载法**:将所有数据加载至内存进行解密。这种方法适用于数据量较小的情况,操作简单且成本低。然而,当数据量增大时,可能会导致程序内存溢出。因此,仅适用于数据量小的场景。
方案一:内存缓存 在内存中一次性加载所有加密数据,通过解密后在内存中实现模糊搜索。这种方法实现简单,成本低。然而,存在内存不足的问题,尤其是在数据量大时可能导致应用服务器出现内存溢出(OOM)问题。同时,数据一致性也是需要关注的点,比如数据库更新后,内存缓存是否能及时更新。