前端的加密和解密,crypto-js的应用,AES / RSA / md5

news2024/11/26 23:37:44

每日鸡汤:每个你想学习的瞬间,都是未来你的向自己求救

内容预警*****新手内容,自己学习总结用****大佬请绕道

之前看https原理,看到对称加密和非对称加密,各种加密方法,看得云里雾里,即便是总结了这篇文章,但是过几天就忘了,所以理论和实践还得结合才对。

最近遇到一个项目,需求是:【把一个数据加密存储到本地localstorage,然后用的时候取出来再解密。】

其实不管是https中的加密解密,还是其他项目的加密解密,原理是一样的,都是用的一套算法。所以常用的几个加密/解密算法也是一致的,不管你是前端开发还是后端开发。

前端开发的常用的包是 crypto-js,这个包包含了所有我们常用的加密/解密算法。

在我这个项目中我们使用一个key 来加密一段文字text,生成secretText,解密的时候也用这个key来解密secretText得到text;这样在加密和解密的过程中我们都用到了同一个key。这种就是传说中的对称加密,比如AES算法。

https在传输过程中的数据就是用对称加密传输的,对称加密用的key(就是上面说的那个key)则是用非对称加密传输的。

非对称加密,顾名思义,肯定是加密/解密过程不能用同一个key.  常用的非对称加密是RSA,这个就可以使用另一个包js-crypto-rsa了。但是我在实际项目中没有用到过,所以先记住RSA是非对称加密算法就行,等我用到了再来补充。

小结,其实只有两个知识点

  1. AES是对称加密
  2. RSA是非对称加密

但是!问题来了,我就是总搞混着两个,都是三个字母,咋记啊?动手写一次就知道了,我们前端用的加密常用的就是对称加密就是AES算法,重要的事情说三遍AES是对称加密,AES是对称加密,AES是对称加密。

还有一个问题,他们经常说的md5是啥,反正就是很常用?

md5是一种散列(哈希)算法,没错散列算法,也叫哈希算法,把任意成都的输入变换成固定长度的输出,常见的有md5,sha1等。

没错,哈希算法也是一种加密算法,但是区别是他是

  1. 不可逆的(不能更具输出推算输入)
  2. 输出出的长度是相同的。
  3. 相同的输入每次计算会产生相同的输出
  4. 不同的输入输出一定是不同的

所以我们在开发过程的过程中,假如有一个文件(或文字),我们可以计算一下他的md5,然后过一段时间再计算一次,如果两次结果相同那么这个文件一定没有改动过,反之文件一定有更改。由此可见,可以使用哈希算法来判断数据的唯一性。是一种信息摘要算法

小结,其实只有两个知识点

  1. md5,sha是哈希算法
  2. 哈希算法不可逆

本篇文章知识点总结

  1. 记住2组单词  AES/RSA.   和  md5 / sha
  2. AES/RSA 用来加密/解密
  3. md5 / sha 用来做信息摘要

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/513404.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

报错main.py: error: unrecognized arguments: stack_size 4 1001,770,123

运行从GitHub上面下载下来的代码时,按照作者提供的输入命令输入后报错: main.py: error: unrecognized arguments: stack_size 4 1001,770,123 将报错的部分在网上百度,找到部分方法,得出理解:输入的命令是出错的&am…

【RS专题】怎么知道你遇到的是rs风控

本文属于技术分享、如有侵权可联系本人下架 最简单的方法就是查看cookie,在控制台输入【document.cookie】 如果出现如上图中有【xxxxxxT】或者【xxxxxxP】的,并且它的值都为英文数字和下滑线加点,那么基本可以确定这个网站用了rs反爬 什么是rs反爬,下面抄一段内容 瑞数动…

【瑞数RS专题】首层代码分析,和获取eval层代码,cookie反爬虫详解

如有侵权、联系本人下架 以下面两个网站为例 1.aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL25ld19ob3VzZS9uZXdfaG91c2VfZGV0YWlsLmh0bWw= 2.aHR0cHM6Ly93d3cubm1wYS5nb3YuY24veWFvd2VuL3lwamd5dy9pbmRleC5odG1s 首先明确一下目标,我们要先获取网页200的源代码,RS5代第一次响应为…

unittest自动化测试框架讲解以及实战

为什么要学习unittest 按照测试阶段来划分,可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作,通常指函数或者类,一般是开发完成的。 单元…

软件架构:软件架构设计的三个维度

架构设计是一个非常大的话题,不管写几篇文章,接触到的始终只是冰山一角,更多的是实践中去体会。这篇文章主要介绍面向对象OO、面向方面AOP和面向服务SOA这三个要素在架构设计中的位置与作用。   架构设计有三个维度,或者说是我们…

文案改写神器软件-文案改编神器

文案改写神器软件 文案改写神器软件通常致力于通过人工智能技术将一篇已有文案进行改写和改编,以达到复用或优化的目的。以下是文案改写神器软件通常可以做的事情: 改写原文:文案改写神器可以通过自定义规则、语法分析和文本相似性匹配等功能…

设计模式之【组合模式】,树形结构的完美解决方案

文章目录 一、什么是组合模式1、组合模式三大角色2、组合模式应用场景3、组合模式注意事项和细节 二、透明组合模式1、学院院系案例2、透明组合模式总结 三、安全组合模式1、linux目录系统案例2、安全组合模式总结 四、源码中使用的组合模式1、HashMap2、ArrayList3、MyBatis 一…

跨平台应用开发进阶(六十一):uni-app 跨平台技术开发框架可行性调研

文章目录 一、流程类二、研发类(uni-app框架)三、心得分享(研发踩坑&uni-app踩坑)四、拓展阅读 一、流程类 IOS和安卓企业开发者账户申请流程(申请渠道、需要提供的相关证明、审核时间等)。 答:uni-app使用HBuliderX作为开发IDE,支持邮箱、密码方式注册&#x…

95、Image Restoration with Mean-Reverting Stochastic Differential Equations

简介 主页:https://github.com/Algolzw/image-restoration-sde 扩散模型终于在去噪、超分辨率等应用了。 这是一种基于随机微分方程的通用图像恢复方法,关键结构包括均值还原SDE,该SDE将高质量图像转换为具有固定高斯噪声的平均状态的降级…

怎么压缩png图片的大小?4个简单高效工具分享

怎么压缩png图片的大小?大家都知道jpg和png是目前电脑上最主流的两大图片文件格式,jpg图片的体积比较小,因为它属于有损压缩的图片格式,而png图片的体积相对就要大很多了,因为png属于无损压缩的图片格式。大家也同样知…

Redission实现分布式锁之源码解析

Redission实现分布式锁之源码解析 1、Redission实现分布式锁之源码解析1.1 分布式锁-redission功能介绍1.2 分布式锁-Redission快速入门1.3 分布式锁-redission可重入锁原理1.4 分布式锁-redission锁重试和WatchDog机制1.5 分布式锁-redission锁的MutiLock原理 1、Redission实现…

5G+工业互联网观察——应用篇

5G与工业互联网的结合是5G应用的重要领域,前一篇《5G工业互联网观察——政策篇》我们对5G工业互联网的相关政策进行了整理和分析,本篇继续从应用的角度整理目前的典型场景和重点行业,并进行简单的分析。 文 | 无界 全文4500字,预计…

原创 | 一文读懂蒙特卡洛算法

作者:陈之炎本文约2000字,建议阅读10分钟 本文介绍了蒙特卡洛算法。 蒙特卡洛算法(Monte Carlo algorithm)是一种基于随机采样的计算方法,其基本思想是通过生成随机样本,利用统计学原理来估计数学问题的解。…

MySQL实战之主从数据同步机制

主从同步的重要性: 解决数据可靠性的问题需要用到主从同步;解决 MySQL 服务高可用要用到主从同步;应对高并发的时候,还是要用到主从同步。 一、MySQL 主从同步流程 当客户端提交一个事务到 MySQL 的集群,直到客户端收…

《JavaEE初阶》Servlet

《JavaEE初阶》Servlet 文章目录 《JavaEE初阶》Servlet编写一个Servlet的helloworld1. 认识Maven并创建maven项目:2. 引入依赖:3.创建目录:4. 编写代码:5. 打包6. 部署7.验证 优化打包部署操作.常见的错误: ServletAPI:利用ajax构造请求.使用第三方工具postman构造请求HttpSer…

KDXL-A工频输电线路参数测试仪

一、简介 由我公司开发、研制的专门用于输电线路工频参数测量的高精度仪器,对于输电线路的一系列工频参数可进行精密的测量。 KDXL-A输电线路参数测试仪具有体积小、重量轻、测量准确度高、稳定性好、操作简便易学等优点,可取代以往利用多表法测量线路参数的方法&am…

springboot-热部署

什么是热部署 事先我创建一个springboot项目,引入web依赖。 当我冷启动的时候,日志如下: D:\tools\jdk-17.0.3\bin\java.exe -XX:TieredStopAtLevel1 -noverify -Dspring.output.ansi.enabledalways -Dcom.sun.management.jmxremote -Dspr…

【神经网络】tensorflow -- 期中测试试题

题目一:(20分) 请使用Matplotlib中的折线图工具,绘制正弦和余弦函数图像,其中x的取值范围是,效果如图1所示。 要求: (1)正弦图像是蓝色曲线,余弦图像是红色曲线,线条宽度…

洛谷B2097 最长平台

最长平台 题目描述 对于一个数组,其连续的相同段叫做一个平台,例如,在 1 1 1, 2 2 2, 2 2 2, 3 3 3, 3 3 3, 3 3 3, 4 4 4, 5 5 5, 5 5 5&…

加密解密软件VMProtect入门使用教程(四):准备项目

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…