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

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

前端加密的常见场景和方法相关推荐

  1. WEB前端性能优化常见方法

    web前端是应用服务器处理之前的部分,前端主要包括:HTML,CSS,javascript,image等各种资源,针对不同的资源有不同的优化方式. 1. 内容优化 (1)减少HTTP请求数:这条策略是 ...

  2. 内存泄漏常见场景及处理方法

    1.Java垃圾回收(GC) Java 是如何管理内存 为了判断Java中是否有内存泄露,我们首先必须了解Java是如何管理内存的.Java的内存管理就是对象的分配和释放问题.在Java中,程序员需要 ...

  3. PHP密码问题陈婷代码_登录中利用JS前端加密PHP后端解密保证数据非明文传输的安全方法...

    为什么要研究这个呢,因为我所在单位的信息管理部门在监控系统上发现有大量的明文账号(身份证号)和密码在传输,被告知这很不安全,索性就直接解决这个问题,利用JS前端加密PHP后端再加密来解决这个问题,保证 ...

  4. 当我们在谈论前端加密时,我们在谈些什么

    当然在谈安全. 前端安全是Web安全的一部分,常见的安全问题会有XSS.CSRF.SQL注入等,然而这些已经在程师界得到了相当高的重视并且有了很成熟的解决方案. 所以我们今天只谈前端"加密& ...

  5. pmsm simulink foc 仿真_汽车雷达场景仿真方法的研究

    原标题:汽车雷达场景仿真方法的研究 文章基于电大尺寸电磁波仿真技术 , 提出一种能够根据电磁波仿真结果参数计算出实际雷达回波信号的方法 .该方法能够模拟运动在多目标复杂场景下的雷达回波信号 , 综合了 ...

  6. Java 前端加密传输后端解密以及验证码功能

    1. 加密解密 1.1 前端js加密概述 对系统安全性要求比较高,那么需要选择https协议来传输数据.当然很多情况下一般的web网站,如果安全要求不是很高的话,用http协议就可以了.在这种情况下, ...

  7. 领域适配前沿研究——场景、方法与模型选择

    下期内容:岂凡超<义原知识库的应用和扩充> 报名请点击「阅读原文」 在线直播时间:12月31日19:30-20:30 12月24日, 在智源论坛Live第2期活动中,我们邀请了2019年清 ...

  8. java 登录数据前端加密+后台验证RSA

    前端加密使用RSA+MD5+自写算法 使用到了 md5.js+jsencrypt.min.js+1.js+RSAUtils.java(自写算法) 下载链接:https://gitee.com/gy29 ...

  9. bisect git 使用_Git使用过程中的一些常见场景问题总结

    之前在公司内部推Git,写了一份git使用教程,后来又在团队内部做了一次分享,内容是关于Git使用过程中经常会遇到的一些场景,并有了这份总结. git基础 基于feature的工作流 添加忽略文件 . ...

最新文章

  1. 腾讯开源框架Angel推出3.0版本:全栈机器学习平台
  2. Flutter开发之WebView加载网页(24)
  3. 清华大学计算机64班,清华大学计算机系的论比文评价.ppt
  4. 自动加载 autoload
  5. Mysql学习进度(2013.03.12)—sql语句学习一
  6. UpTime:供电、系统、网络、制冷——2020年数据中心宕机四大主因
  7. NLP研究方向的「情感分析领域」的简单调研
  8. leetcode 330. Patching Array | 1798. Maximum Number of Consecutive Values You Can Make
  9. 修改、读取txt文档
  10. UVA 11733 Airports
  11. 拳王虚拟项目公社:低价电影票怎样赚钱,低价电影票实操赚钱方法
  12. 微课|中学生可以这样学Python(例4.5):计算最大函数值
  13. setsockopt()改善程序的健壮性
  14. 建立任务程序直接执行网页(.net)
  15. wxPython 入门教程.
  16. 查找原始MySQL死锁ID 笔记
  17. 【软件工程】产品调研分析报告
  18. E-游戏机本当下手(北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛)
  19. Day14.网络编程入门及其应用
  20. CommandLineRunner和ApplicationRunner区别

热门文章

  1. sql server生成不重复的时间字符串
  2. [LeetCode]题解(python):068-Text Justification
  3. 互联网公司2014前端笔试面试题:HTML/CSS篇
  4. 远端仓库初始化成裸仓库 git init --bare
  5. 关于ECLIPSE中JSP代码无提示
  6. Dev XtraTreeList 学习笔记
  7. 错误契约(FaultContract)与异常处理(转)
  8. exchange2003的简单安装方法
  9. Mysql-MVCC
  10. C++函数参数是结构体或者数组(cstdarg/.../va_arg/va_end)