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

news/2024/11/8 6:12:48/

首先,加密的目的,简而言之就是将明文转换为密文、甚至转换为其他的东西,用来隐藏明文内容本身,防止其他人直接获取到敏感明文信息、或者提高其他人获取到明文信息的难度。
通常我们提到加密会想到密码加密、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”。这种手段也可以算作一种加密。
具体的实现方法可以看一下《Web 端反爬虫技术方案》。

参考

HTTPS 到底加密了什么? 
Web 端反爬虫技术方案 
可以说的秘密-那些我们该讨论的前端加密方法 
前端加密那点事 
关于反爬虫,看这一篇就够了


http://www.ppmy.cn/news/873390.html

相关文章

100多个常用API接口免费分享

我们在开发的过程中,常常调用API接口,往往事半功倍。今天给大家整理了优秀的API接口! 各类无次数限制的免费API接口整理,主要是聚合数据上和API Store上的一些,还有一些其他的。 聚合数据提供30大类,160种以上基础数据…

几个常用的免费API接口调用

手机号码归属地API接口: https://www.juhe.cn/docs/api/id/11 历史上的今天API接口: https://www.juhe.cn/docs/api/id/63 股票数据API接口: https://www.juhe.cn/docs/api/id/21 全国WIFI接口: https://www.juhe.cn/docs/…

python 文件加密_文件加密和解密的Python脚本

我在查看一个处于活动状态的python食谱时发现了以下代码。我提出了以下4个问题。非常感谢您的指导和解释。在 Q::我无法确切地理解为什么在“klong”行的第一个位置从用户那里获取“key random seed”(系统argv[2] )”?尤其是因为&#xff0c…

开源 免费 java CMS - FreeCMS1.6 菜单管理

下载地址:http://code.google.com/p/freecms/ 菜单管理 FreeCMS在设计时定位于面向二次开发友好,所以FreeCMS提供了菜单管理功能,二次开发人员可以自由增加新的功能菜单到FreeCMS。 为了让后台管理功能更规范,FreeTeam建议…

基于AndroidJava的食谱菜谱菜品APP设计

目录 移动应用开发——食斋 1 1项目介绍和基础架构 3 2使用的开发框架和资源库 3 2.1Material Design: 3 2.2litePal: 3 2.3Retrofit2: 3 2.4Rxjava 3 3功能叙述 4 3.1用户方面 4 3.1.1用户的注册和登录 4 3.1.2用户的切换和登出 5 3.1.3修改…

android pdf 文件加密,加密PDF与PdfBox-Android不兼容

我用Foxit和AdobeReader检查结果。 AdobeReader说我的文件已损坏,但Foxit向我显示密码对话框。但是,然后我可以尝试我想要的福昕也无法解密我的文件。 如果我设置keyLength 256我得到了上述描述,但我也尝试了其他2个keyLength值,…

食物API接口免费开放-APP数据接口

食品API接口免费开放-APP数据接口 食疗大全 (food.yi18.net)是医药吧网(www.yi18.net)旗下的食品信息网。 专门提供食品信息,食品功能与食疗分类。 现在食疗大全网 中有3千左右的食品信息,同时每天有10个左…