前端加密与解密的几种方式

news2024/9/30 7:22:06

1.base64加密方式

1. base64是什么?

Base64,顾名思义,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"一共64个字符的字符集,(另加一个“=”,实际是65个字符,至于为什么还会有一个“=",这个后面再说)。任何符号都可以转换成这个字符集中的字符,这个转换过程就叫做base64编码。

 2.示例

<script>
        let str = 'ImGod';
        let str64 = window.btoa(str);//Base64加密
        console.log('转化后:'+str64);
        let jm = window.atob(str64);//Base64解密
        console.log('解码后:'+jm);

</script>

结果:

2.MD5 加密方式(不可逆)

 1.什么是MD5

 MD5是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。MD5由美国密码学家罗纳德·李维斯特(Ronald Linn Rivest)设计,于1992年公开,用以取代MD4算法。

MD5.JS是通过前台js加密的方式对密码等私密信息进行加密的工具。

2.引入 

 <script src="https://cdn.bootcss.com/blueimp-md5/2.12.0/js/md5.min.js"></script>

4.示例

<script>

        // MD5加密方式

        // hex_md5(data);//data表示你要加密的数据

        let str = 'abc';

        let newStr = md5(str);

        console.log(newStr);

</script>

结果:

3.编码和解码字符串

1.什么是编码和解码字符串

这个主要是使用JS函数的escape()和unescape(),分别是编码和解码字符串。

escape采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)

在很多脚本语言的应用当中,escape函数是一个可转换编码的函数,比如javascript 的 ajax 中,向a.php传递参数?city=北京,可先将"北京"用escape重新编码,再进行传递,在服务器端接收后再解码才不会出现乱码。escape一般用于传递URL参数和类似urlencode base64_encode函数是类似的。

2 .示例

<script>

        //编码和解码字符串

        let str = '在山的那边';

        let str1 = escape(str);

        let str2 = unescape(str1)

        console.log('编码:'+str1);

        console.log('解码:'+str2);

    </script>

结果:

4.sha1.js (不可逆)

1. sha1是什么?

SHA-1是一种数加密算法,该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段(通常更小)密文,也可以简单的理解为取一串输入码(称为预映射或信息),并把它们转化为长度较短、位数固定的输出序列即散列值(也称为信息摘要或信息认证代码)的过程。

2. 引入

  <script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>

目前没有在网上没找到下载地址,只能在线引入。

3. 示例

<script>

        //sha1加密方式

        let str = 'abcd';

        let sha_1 = sha1(str);

        console.log(sha_1);

    </script>

结果:

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

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

相关文章

vue3实现自定义select下拉框内容之城市区域篇

分享-2023年高级前端进阶&#xff1a;前端登顶之巅-最全面的前端知识点总结站点 *分享一个使用比较久的&#x1fa9c; 需求分析&#xff1a; 1、实现一个区域下拉选项与现有ui组件库不同&#xff0c;支持多选、单选需求 2、支持选中区域后-全选中当前区域下的所有城市信息 3、…

CommonCollections3链分析

先介绍一下URLClassLoader URLClassLoader可以从传入的URL上加载任意类 且支持http协议 实际上类加载最关键的地方在Classloader#definClass() 所以我们要去找有谁调用了该方法 在TemplatesImpl的内部类TransletClassLoader#defineClass()处调用 往前 TemplatesImpl#defin…

OpenCV 中的光流 (C++/Python)

什么是光流? 光流是一项视频中两个连续帧之间每像素运动估计的任务。基本上,光流任务意味着计算像素的位移矢量作为两个相邻图像之间的对象位移差。光流的主要思想是估计物体由其运动或相机运动引起的位移矢量。 理论基础 假设我们有一个灰度图像——具有像素强度的矩阵。我…

【YOLOX】《YOLOX:Exceeding YOLO Series in 2021》

arXiv-2021 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method5 Experiments5.1 Datasets and Metrics 6 Conclusion&#xff08;own&#xff09; 1 Background and Motivation 2 Related Work 3 Advantages / Contributions 4 Meth…

自定义注解(Annontation)

目录 1.注解定义 2.元注解定义 3. 自定义注解&#xff08;自定义的注解名称相同的会覆盖原注解&#xff09; 4.Annotation架构&#xff08;元注解参数介绍&#xff09; 1.注解定义 注解是用来将任何的信息或元数据&#xff08;metadata&#xff09;与程序元素&#xff08;类…

行业报告 | Q3策略汇报:持续看好AI+复苏、国产化

原创 | 文 BFT机器人 01 国产化是产业发展基石 1.1 设备&#xff1a;量测等环节国产化弹性大 刻蚀、清洗、CMP等环节国产化率较高。得益于北方华创、中微公司的产品突破和市占率提升&#xff0c;刻蚀环节国产化率在2022年已接近20%&#xff0c;鉴于刻蚀设备市场空间广阔&#…

电影订票选座商城开发--源码部署,快速搭建

一、技术选择 电影订票选座商城开发需要结合前端和后端技术来实现。 二、功能设计 电影订票选座商城需要具备以下功能&#xff1a; 用户注册登录&#xff1a;用户可以通过手机号、邮箱等方式注册账号&#xff0c;并通过登录验证获取权限。 电影票查询&#xff1a;用户可以查…

喆啡酒店十周年丨啡越时间限,ALL BY 10VE!

啡越时光热爱为伴 十年前&#xff0c;秉持对咖啡馆文化及复古风格的喜爱&#xff0c;喆啡酒店创造全新的Coffetel品类&#xff0c;将充满「温暖」「愉悦」「咖啡香」的格调体验带给消费者&#xff0c;成为无数人「旅途中的啡凡存在」。 十年间&#xff0c;喆啡酒店以热爱化为…

在Hierarchy层级面板上组织业务脚本流程——使用async和await

〇、把多个不同的脚本串联在一起顺序阻塞执行 把很多个脚本串联在一起&#xff0c;让他们按照先后顺序执行&#xff0c;等着前面的执行完毕&#xff0c;在执行后面的&#xff0c;这就是用【异步方法】实现的&#xff0c;能够顺序执行的流程。 如下图所示&#xff0c;流程脚本都…

CleanMyMac2023永久版Mac清理工具

CleanMyMac拥有超强的清理能力&#xff0c;能够快速清理Mac垃圾文件、陈旧数据&#xff0c;恢复Mac原本性能&#xff0c;保持电脑好状态&#xff01;CleanMyMac中文版功能非常的强大&#xff0c;操作简单&#xff0c;使用起来高效快捷&#xff0c;自身拥有一个安全数据&#xf…

安装OpenCV依赖包libjasper-dev无法安装

记录在ubuntu22.04上编译OpenCV4.6&#xff0c;遇到依赖包无法安装的问题。 主要是源的问题 sudo gedit /etc/apt/sources.list我的源文件&#xff0c;######处的下一行是改动的地方&#xff0c;主要把自带的源都注释了&#xff0c;然后在末尾添加了清华源。 # deb cdrom:[Ubu…

详解C语言中的int8_t、uint8_t、int16_t、uint16_t、int32_t、uint32_t、int64_t、uint64_t

2023年8月8日&#xff0c;周二上午 目录 为什么会产生int8_t、uint8_t等这类数据类型int8_t、uint8_t等这类数据类型有什么用头文件int8_t、uint8_t等这类数据类型是怎么实现的 为什么会产生int8_t、uint8_t等这类数据类型 根本原因在于&#xff0c;C 语言标准只是规定了各个…

CentOS8装不上软件

App stream什么提示、或者找不到firewalld服务等类似提示时。可以尝试替换/etc/yum.repos.d文件夹下的文件内容。记得替换之前先备份原有的&#xff0c;防止意外情况便于恢复。 替换后文件如下&#xff1a; 文件下载地址&#xff1a; https://download.csdn.net/download/zhao…

也谈态势感知的嵌套与级联

不同颗粒度的态势感知可以嵌套在一起&#xff0c;形成一个层次结构&#xff0c;从而提供全面和多层次的信息获取和理解。 在态势感知中&#xff0c;颗粒度可以理解为观察、收集和分析信息的细节程度。较高颗粒度的态势感知关注的是具体的事件、行动或细节&#xff0c;提供了详细…

如何高性能、高效率地实现3D Web轻量化?

随着互联网和Web技术的发展&#xff0c;3D Web应用的需求越来越多。然而&#xff0c;复杂的3D模型在Web上展示和交互通常需要大量的带宽和计算资源。为了解决这一问题&#xff0c;HOOPS技术作为一套专业的3D图形技术开发工具包&#xff0c;发挥着关键作用。本文将探讨HOOPS技术…

问道管理:新创业板权限怎么开通?

在我国证券商场中&#xff0c;创业板能够被认为是相对较为年青的板块&#xff0c; 但在近几年中&#xff0c;创业板体现出了极高的投资价值。为了更好地促进我国立异企业开展&#xff0c;政府开放了新创业板权限。可是&#xff0c;对于很多人来说&#xff0c;新创业板权限是一个…

【MySQL学习】道士下山——MySQL的安装教程

学习数据库&#xff0c;不仅仅需要学习数据库的理论知识&#xff0c;还需要掌握一定的数据库开发能力&#xff1b;为后续的数据库应用开发、数据库内核开发等打下良好的基础。 对于学习者而言&#xff0c;目前市面上的Oracle等数据库软件需要付费&#xff0c;而MySQL作为一款免…

又一关键系统上线!海底捞进销存系统登陆OceanBase,数据库整体成本节省50%

2020 年&#xff0c;海底捞全面实现“云上捞”&#xff0c;将所有核心业务系统上云&#xff0c;全面推进企业数字化进程。而随着海底捞业务的不断增长&#xff0c;加上数智化转型构建全新的线上智慧服务&#xff0c;原有 IT 系统架构已经逐渐无法有效“驾驭”海量数据与突发流量…

Java之多线程和并发应用

多线程和并发应用 1. 概念与意义2. 多线程的实际应用场景2.1 网络通信2.2 数据库操作2.3 图片处理 3. 多线程的创建方式3.1 继承 Thread 类3.2 实现 Runnable 类3.3 实现 Callable 接口3.4 比较 Thread 和 Runnable3.5 线程同步与锁3.6 线程池 4. 并发编程的挑战和解决方案4.1 …

mysql存储过程定时调度

假设我们要创建一个简单的数据库&#xff0c;其中包含两张表&#xff1a;students 表和 courses 表&#xff0c;以及一个存储过程用于插入学生数据。下面是完整的建表语句、插入语句和存储过程&#xff1a; 1】建表 -- 创建 courses 表 CREATE TABLE courses (course_id INT …