当前位置: 首页 > news >正文

太原网站免费制作营销型网站建设公司网络推广

太原网站免费制作,营销型网站建设公司网络推广,做论坛网站需要哪些前置审批,湘潭网站建设 搜索磐石网络文章目录 前言沙雕方案内存加载解密密文映射表 常规做法实现数据库加密算法参考 分词组合加密(推荐) 超神方案总结个人简介 前言 在数据安全性和查询效率之间找到平衡是许多数据管理系统所面临的挑战之一。特别是在涉及加密数据的情况下,如何…

文章目录

  • 前言
  • 沙雕方案
    • 内存加载解密
    • 密文映射表
  • 常规做法
    • 实现数据库加密算法
      • 参考
    • 分词组合加密(推荐)
  • 超神方案
  • 总结
  • 个人简介

前言

  • 在数据安全性和查询效率之间找到平衡是许多数据管理系统所面临的挑战之一。特别是在涉及加密数据的情况下,如何进行模糊查询变得更加复杂。在本文中,我们将探讨三种不同进阶方法:沙雕、常规和超神做法。

沙雕方案

内存加载解密

  • 将所有数据加载到内存中进行解密,然后通过程序算法来模糊匹配。这种做法效率低下,且不安全,因为涉及将所有数据加载到内存中,存在内存溢出和数据泄露的风险。
  • 一个英文字母(不分大小写)占一个字节的空间,一个中文汉字占两个字节的空间,用DES来举例,13800138000 加密后的串 HE9T75xNx6c5yLmS5l4r6Q== 占24个字节:

密文映射表

  • 将密文数据映射一份明文映射表,然后通过模糊查询明文映射表来关联密文数据。这种方法会暴露明文映射表,导致数据安全性降低。
  • 我们本质是为了数据安全才进行加密,这种方案属实是掩耳盗铃,多此一举。

常规做法

实现数据库加密算法

  • 在数据库底层实现数据加解密算法,在模糊查询的时候使用 decode(key) like '%partial% 进行查询。
  • 本方案看着不错,但是存在一个很大的问题,就是通用性不强,在使用多种类型数据库时,函数需要重新定义,且使用的方式也不一定兼容,可拓展性、可移植性较差。

参考

  • MySQL 自定义函数:https://zhuanlan.zhihu.com/p/128744140

分词组合加密(推荐)

  • 对密文数据进行分词组合,然后将分词组合的结果集分别进行加密,存储到扩展列中。查询时通过解密函数进行模糊匹配。这种方法在保证数据安全性的同时,也保证了查询的效率。
  • 但是我们都知道数据加密后长度会变长,出于成本、性能、安全的考虑,模糊查询的子句一般限制为:子句长度必须大于等于4个英文/数字,或者2个汉字
  • 比如国内很多互联网大厂都是使用类似的方案:
  • 阿里密文字段检索方案:https://jaq-doc.alibaba.com/docs/doc.htm?treeId=1&articleId=106213&docType=1#s1
  • 淘宝密文字段检索方案:https://open.taobao.com/docV3.htm?docId=106213&docType=1

超神方案

  • 除上面提到的方案之外,我们还可以从算法层面设计一种加密算法来支持直接进行模糊匹配,但是整体设计难度、成本都过于复杂,一般实践中基本不会考虑这种方案。
  • 下面是一些参考资料,有兴趣的朋友可以看一下:
  • 支持快速查询的数据库如何加密:https://www.jiamisoft.com/blog/5961-kuaisuchaxunshujukujiami.html
  • 基于Lucene的云端搜索与密文基础上的模糊查询:https://www.cnblogs.com/arthurqin/p/6307153.html

总结

  • 通过本文的介绍和示例,我们可以更好地理解不同方法在加密数据的模糊查询中的应用和实现方式。选择合适的方法取决于数据安全性、查询效率和实现难度等因素的综合考量。

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

http://www.yayakq.cn/news/305268/

相关文章:

  • 被网站开发公司坑上海外贸平台
  • 国外中文网站排行做家政网站公司名称
  • 网站售后服务内容最新域名查询ip
  • 海外网站域名企业备案号查询系统
  • 个人摄影网站模版网站上的logo怎么做
  • 网站免费正能量直播资源共享网站建设
  • 做网站每年需付费吗网站动态程序
  • 做请柬的网站wordpress 布局插件
  • 做网站软件 手机网站推广一般办法
  • asp网站开发培训保定网站设计推荐
  • 响应式网站和传统网站异同免费搭建网站
  • 食品包装袋设计软文优化
  • 大型网站如何开发长春是几线城市2020
  • 电子商务网站建设总结与体会网上建设网站
  • 做网站的那些高清图上哪里找黄页网络的推广软件
  • 手机网站怎么做微信登陆6网站和网页不同吗
  • 手机怎么创建网站济南哪里有网站公司
  • 网站建设方案进行工期安排云浮新兴县做网站
  • 网站建设中的策略南京 app开发公司
  • 怎么自己弄网站免费湖南长沙最新情况
  • 做网站编辑好还是美工好洛阳青峰网络做网站
  • asp.net个人网站模板淘宝网官网登录
  • 湘潭网站建设方案费用建设网站挂广告赚钱
  • 家政网站设计搜索引擎优化步骤
  • 做网站需要的技能网上医疗和医院网站建设制作
  • 广东微信网站建设价格网站qq 微信分享怎么做
  • 上海快速建站提供商昆明企业网站开发
  • 2019长沙企业网站建设优惠横沥网站建设公司
  • 陕西省建设网三类人员证书查询淘宝seo对什么内容优化
  • 网站建设外链网页设计软件dw全称