前端加密的常见场景和方法

简介: 前端加密的常见场景和方法

前端加密的常见场景和方法

首先,加密的目的,简而言之就是将明文转换为密文、甚至转换为其他的东西, 用来隐藏明文内容本身,防止其他人直接获取到敏感明文信息、或者提高其他 人获取到明文信息的难度。通常我们提到加密会想到密码加密、HTTPS等关键 词,这里从场景和方法分别提一些我的个人见解。

场景-密码传输

  • 前端密码传输过程中如果不加密,在日志中就可以拿到用户的明文密码,对用 户安全不太负责。这种加密其实相对比较简单,可以使用PlanA-前端加密、后 端解密后计算密码字符串的 MD5/MD6 存入数据库;也可以 PlanB-直接前端使 用一种稳定算法加密成唯一值、后端直接将加密结果进行 MD5/MD6,全程密 码明文不出现在程序中。
  • PlanA 使用 Base64 / Unicode+1 等方式加密成非明文,后端解开之后再存它的 MD5/MD6 。
  • PlanB 直接使用 MD5/MD6 之类的方式取 Hash ,让后端存 Hash 的 Hash 。

场景-数据包加密

  • 应该大家有遇到过:打开一个正经网站,网站底下蹦出个不正经广告——比如 X 通的流量浮层,X 信的插入式广告……(我没有针对谁)但是这几年,我们会 发现这种广告逐渐变少了,其原因就是大家都开始采用 HTTPS 了。被人插入 这种广告的方法其实很好理解:你的网页数据包被抓取->在数据包到达你手机 之前被篡改->你得到了带网页广告的数据包->渲染到你手机屏幕。而 HTTPS 进 行了包加密,就解决了这个问题。严格来说我认为从手段上来看,它不算是一种前端加密场景;但是从解决问题的角度来看,这确实是前端需要知道的事情。 Plan 全面采用 HTTPS。

场景-展示成果加密

  • 经常有人开发网页爬虫爬取大家辛辛苦苦一点一点发布的数据成果,有些会影 响你的竞争力,有些会降低你的知名度,甚至有些出于恶意爬取你的公开数据 后进行全量公开……比如有些食谱网站被爬掉所有食谱,站点被克隆;有些求职网站被爬掉所有职位,被拿去卖信息;甚至有些小说漫画网站赖以生存的内容 也很容易被爬取。
  • Plan 将文本内容进行展示层加密,利用字体的引用特点,把拿给爬虫的数据变 成“乱码”。

举个例子:正常来讲,当我们拥有一串数字“12345”并将其放在网站 页面上的时候,其实网站页面上显示的并不是简单的数字,而是数字对应的字 体的“12345”。

这时我们打乱一下字体中图形和字码的对应关系,比如我们搞成 这样:图形:1 2 3 4 5 字码:2 3 1 5 4 这时,如果你想让用户看到“12345”,你在页面中渲染的数字就应该是“23154”。 这种手段也可以算作一种加密。


相关文章
|
30天前
|
人工智能 前端开发 测试技术
AI:探究下前端组件化设计的实现方法及其重要性(一)
AI:探究下前端组件化设计的实现方法及其重要性
|
30天前
|
人工智能 缓存 前端开发
AI:探究下前端组件化设计的实现方法及其重要性(二)
AI:探究下前端组件化设计的实现方法及其重要性
|
1月前
|
前端开发 JavaScript API
微前端:一种新型的前端架构方法
微前端:一种新型的前端架构方法
36 0
|
2天前
|
缓存 前端开发 JavaScript
深入理解前端性能优化方法
【2月更文挑战第1天】前端性能优化是提升用户体验、提高网站速度和效率的关键步骤。本文将深入探讨前端性能优化的各种方法,包括资源压缩与合并、懒加载、缓存策略、代码优化等,并提供实际案例和建议,帮助开发者更好地优化前端性能。
|
17天前
|
存储 算法 前端开发
常见的前端加密方法
常见的前端加密方法
15 3
|
18天前
|
JSON 前端开发 Java
springboot项目实现实体类加密存库,解密返回给前端
springboot项目实现实体类加密存库,解密返回给前端
16 0
|
23天前
|
Web App开发 前端开发 JavaScript
Web前端性能测试方法
Web前端性能测试方法
|
24天前
|
移动开发 前端开发 JavaScript
web前端之ES6的实用深度解构赋值方法、复杂的解构赋值
web前端之ES6的实用深度解构赋值方法、复杂的解构赋值
14 1
|
6月前
|
Web App开发 前端开发 JavaScript
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
81 0
|
6月前
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
54 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置