当前位置: 首页 > news >正文

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

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>

结果:

相关文章:

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

1.base64加密方式 1. base64是什么&#xff1f; Base64&#xff0c;顾名思义&#xff0c;就是包括小写字母a-z、大写字母A-Z、数字0-9、符号""、"/"一共64个字符的字符集&#xff0c;&#xff08;另加一个“”&#xff0c;实际是65个字符&#xff0c;至于…...

详解Spring Bean的生命周期

详解Spring Bean的生命周期 Spring Bean的生命周期包括以下阶段&#xff1a; 1. 实例化Bean 对于BeanFactory容器&#xff0c;当客户向容器请求一个尚未初始化的bean时&#xff0c;或初始化bean的时候需要注入另一个尚未初始化的依赖时&#xff0c;容器就会调用createBean进…...

详解Shell 脚本中 “$” 符号的多种用法

通常情况下&#xff0c;在工作中用的最多的有如下几项&#xff1a; $0&#xff1a;Shell 的命令本身 1到9&#xff1a;表示 Shell 的第几个参数 $? &#xff1a;显示最后命令的执行情况 $#&#xff1a;传递到脚本的参数个数 $$&#xff1a;脚本运行的当前进程 ID 号 $*&#…...

Redis如何实现Session存储

在Redis中实现Session存储,主要有两种方式:使用Spring Session和手动存储。 使用Spring Session:Spring Session是Spring框架提供的一个模块,用于简化Session管理,并将Session数据存储到外部数据存储中,如Redis。使用Spring Session,你只需要在Spring Boot项目中添加相应…...

安防视频监控汇聚EasyCVR平台接入Ehome告警,公网快照不显示的原因排查

智能视频监控汇聚平台TSINGSEE青犀视频EasyCVR可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等&#xff0c;视频监控管理平台…...

【Springboot】@ComponentScan 详解

文章目录 ComponentScanComponentScan ANNOTATION 和 REGEXComponentScan CUSTOMComponentScan ASSIGNABLE_TYPE ComponentScan ComponentScan 是 Spring 框架中的一个注解&#xff0c;用于自动扫描和注册容器中的组件。 使用 ComponentScan 注解可以告诉 Spring 在指定的包或…...

flask-----信号

安装&#xff1a; flask中的信号使用的是一个第三方插件&#xff0c;叫做blinker。通过pip list看一下&#xff0c;如果没有安装&#xff0c;通过以下命令即可安装blinker&#xff1a; pip install blinker flask其中有内置的信号 template_rendered _signals.signal(temp…...

10_Vue3 其它的组合式API(Composition API)

Vue3 中的其它组合式API 1.shallowReactive 与 shallowRef 2. readonly 与 shallowReadonly 3.toRaw 与 markRaw 4.customRef 5.provide 与 inject 6.响应式数据的判断...

COCOS项目运行的时候图片模糊的原因

1、首先。用X坐标来分析&#xff0c;如果size*Anchor Position有小数&#xff0c;如上图57*0.5667695.5。这样就会导致x模糊。如果y同样计算结果包含小数&#xff0c;那么y也会模糊。xy同时模糊的情况是最模糊的。 2、如果当前node没有问题&#xff0c;那么就要检查上级node是…...

Python中搭建IP代理池的妙招

在Python的爬虫世界里&#xff0c;你是否也想搭建一个功能强大的IP代理池&#xff0c;让你的爬虫无忧无虑地畅游各大网站&#xff1f;今天&#xff0c;我就来教你使用Scrapy框架搭建IP代理池&#xff0c;让你的爬虫更加智能、高效&#xff01;跟着我一步一步来&#xff0c;轻松…...

学习pytorch 2

学习pytorch 2 2. dataset实战代码数据集 2. dataset实战 B站小土堆视频 代码 from torch.utils.data import Dataset from PIL import Image #import cv2 import osclass MyData(Dataset):def __init__(self, root_dir, label_dir):self.root_dir root_dirself.label_dir …...

elementui动态表单实现计算属性携带参数,并将计算出的值四舍五入保留两位小数

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言方法1方法2结论 前言 写项目的时候&#xff0c;遇到需要在动态表单中&#xff0c;将同一级输入框输入的内容计算出来&#xff0c;并动态显示&#xff0c;发现c…...

嵌入式面试5 -makefile shell

2、 如果有一个简单的helloworld项目目录如下&#xff1a; tree helloworld helloworld |– file2.h |– file1.cpp |– file2.cpp 请编写一个Makefile文件。 答&#xff1a; TARGET helloworld CXX g COMPILE : $(COMPILE) file1.cpp COMPILE : $(COMPILE) file2.cpp OBJE…...

获40余家主机厂青睐,这家OTA「吸金王」完成超亿元B2轮融资!

继今年4月获得上汽集团旗下尚颀资本及其合作方山高投控的投资后&#xff0c;近日上海艾拉比智能科技有限公司&#xff08;以下简称“艾拉比”&#xff09;正式完成总额过亿元的B2轮融资&#xff0c;新的投资方为聚卓资本、老股东国科新能继续增持&#xff0c;势能资本持续担任独…...

CGI, FastCGI, WSGI, uWSGI, uwsgi分别是什么?

CGI 1、通用网关接口&#xff08;Common Gateway Interface/CGI&#xff09;,CGI描述了服务器&#xff08;nginx,apache&#xff09;和请求处理程序&#xff08;django,flask,springboot web框架&#xff09;之间传输数据的一种标准. 2.所有bs架构软件都是遵循CGI协议的 3.一…...

Android T 窗口层级相关的类(更新中)

窗口在App端是以PhoneWindow的形式存在&#xff0c;承载了一个Activity的View层级结构。这里我们探讨一下WMS端窗口的形式。 可以通过adb shell dumpsys activity containers 来看窗口显示的层级 窗口容器类 —— WindowContainer类 /*** Defines common functionality for c…...

【云原生】深入掌握k8s中Pod和生命周期

个人主页&#xff1a;征服bug-CSDN博客 kubernetes专栏&#xff1a;kubernetes_征服bug的博客-CSDN博客 目录 1 什么是 Pod 2 Pod 基本操作 3 Pod 运行多个容器 4 Pod 的 Labels(标签) 5 Pod 的生命周期 1 什么是 Pod 摘取官网: Pod | Kubernetes 1.1 简介 Pod 是可以在 …...

openKylin+KingbaseES+Nginx安装

openKylin开放麒麟开启ssh 一、查看ssh服务是否开启。 终端输入命令&#xff1a;sudo ps -e |grep ssh &#xff0c;只显示如下内容则证明未安装ssh服务。 2127 ? 00:00:00 ssh-agent若显示如下内容则证明ssh服务已开启。 1657 ? 00:00:00 ssh-agent 2349 ?…...

lc1.两数之和

暴力解法&#xff1a;两个for循环&#xff0c;寻找和为target的两个数的索引 时间复杂度&#xff1a;O(n2) 空间复杂度&#xff1a;O(1) 哈希表&#xff1a;遍历数组&#xff0c;将nums数组的数和索引分别存储在map的key和value中&#xff0c;一边遍历&#xff0c;一边寻找是…...

c# 初始化列表,并给列表里面所有的元素进行初始化

Enumerable.Repeat 方法是用于生成一个包含指定元素重复若干次的序列。它接受两个参数&#xff0c;第一个参数是要重复的元素&#xff0c;第二个参数是重复次数。 下面是 Enumerable.Repeat 方法的用法和示例&#xff1a; using System; using System.Collections.Generic; u…...

Java笔记(三十):MySQL(上)-- 数据库、MySQL常用数据类型、DDL、DML、多表设计

一、数据库 0、MySQL安装&#xff0c;IDEA配置MySQL 用MySQL installer for windows&#xff08;msi&#xff09;MySQL默认安装位置&#xff1a;C:\Program Files\MySQL\MySQL Server 8.0配置环境变量使用前先确保启动了mysql服务my.ini位置&#xff1a;C:\ProgramData\MySQL…...

SQL笔记-正态分布函数(二)

在Oracle数据库中&#xff0c;并没有直接提供计算正态分布函数&#xff08;累积分布函数&#xff09;的内置函数。不过&#xff0c;你可以使用PL/SQL编程语言来实现一个自定义的正态分布函数。下面是一个简单的示例&#xff1a; CREATE OR REPLACE FUNCTION normdist(x NUMBER…...

【LeetCode】数据结构题解(12)[用栈实现队列]

用栈实现队列 &#x1f609; 1.题目来源&#x1f440;2.题目描述&#x1f914;3.解题思路&#x1f973;4.代码展示 所属专栏&#xff1a;玩转数据结构题型❤️ &#x1f680; >博主首页&#xff1a;初阳785❤️ &#x1f680; >代码托管&#xff1a;chuyang785❤️ &…...

嵌入式Linux下LVGL的移植与配置

一.sdk源码下载路径 1.官方源码下载路径如下: ​​​​​​ https://github.com/lvgl/lvgl git下载方式 git clone https://github.com/lvgl/lvgl.git 2.个人移植好的源码8.2版本下载路径: 链接&#xff1a;https://pan.baidu.com/s/1jyqIennsQpv-RB4RyKvZyg?pwdc68e 提取…...

leetcode每日一练-第70题-爬楼梯

一、思路 动态规划 二、解题方法 使用一个动态规划数组 dp 来记录到达每个台阶的不同方法数。初始情况下&#xff0c;当台阶数为 1 时&#xff0c;方法数为 1&#xff0c;当台阶数为 2 时&#xff0c;方法数为 2。然后&#xff0c;我们从第 3 阶开始逐步计算每一阶的方法数&…...

设备使用RTMP推流到安防监控EasyCVR视频汇聚平台,为何只有FLV格式无法播放?

TSINGSEE青犀视频安防监控视频汇聚平台EasyCVR基于云边端一体化架构&#xff0c;具有强大的数据接入、处理及分发能力&#xff0c;可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、云台控制、语音对讲、智能分析等功能。 智能视频监控平台EasyCVR可…...

arcgis宗地或者地块四至权利人信息提取教程

ARCGIS怎样将图斑四邻的名称及方位加入其属性表 以前曾发表过一篇《 如何把相邻图斑的属性添加在某个字段中》的个人心得,有些会员提出了进一步的要求,不但要相邻图斑的名称,还要求有方位,下面讲一下自己的做法。 基本思路是:连接相邻图斑质心,根据连线的角度确定相邻图斑…...

乐鑫首创|使用 ESP RainMaker® 私有云定制 Matter 生态

ESP RainMaker 是乐鑫的 AIoT 云平台&#xff0c;支持客户自主部署私有物联网云&#xff0c;从而全面掌握数据所有权和管理权&#xff0c;实现定制功能与服务。ESP RainMaker 云后端采用 AWS 无服务器架构&#xff0c;拥有开源的 iOS 和 Android 移动端 APP、第三方语音助手集成…...

【算法|数组】快慢指针

算法|数组——快慢指针 引入 给你一个数组 nums 和一个值 val&#xff0c;你需要 原地 移除所有数值等于 val 的元素&#xff0c;并返回移除后数组的新长度。 不要使用额外的数组空间&#xff0c;你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你…...

C++字符串:使用 std::string

C字符串&#xff1a;使用 std::string 初始化方法一 std::string 变量名称 { “字符串”}&#xff1b; std::string str { " 这是一个字符串" }&#xff1b;std::cout << str; std::cin >> str;初始化方法二 std::string 变量名称 { “字符串”&#x…...

百度手机网站建设/网络推广的手段

转&#xff1a;http://blog.donews.com/gengmao/archive/2004/08/09/63382.aspx 有两个 1、SGA trace 2、sql monitor TOAD 工具如下&#xff1a; SQLMonitor是TOAD 7.5带的一个工具。利用它可以监视本地进程通过SQL*Net发送的SQL语句&#xff0c;非常方便。没有它之前&…...

31省新增最新消息/湖南seo优化首选

【题目描述】 物流公司要把一批货物从码头A运到码头B。由于货物量比较大&#xff0c;需要n天才能运完。货物运输过程中一般要转停好几个码头。物流公司通常会设计一条固定的运输路线&#xff0c;以便对整个运输过程实施严格的管理和跟踪。由于各种因素的存在&#xff0c;有的时…...

怎样创建个人购物网站/b站推广入口2023破解版

由于工作和学习的需要&#xff0c;要在本本上安装SQL SERVER 2005 开发版(本本的操作系统是XP&#xff0c;所以不能安装Enterprise版本&#xff0c;而Express版本的功能又十分有限)&#xff0c;去微软的官方网站搜索了一下sql server 2005 developer&#xff0c;找到了一些关于…...

做飞象金服的网站/湖南seo优化

我有一个溢出&#xff1a;跨越400&#xff05;文档窗口宽度的自动容器。因此&#xff0c;我的页面上有一个水平滚动条。我在这个容器中也有多个div&#xff0c;它们有不同的左边位置。当我点击它们时&#xff0c;我需要获得每个容器的左侧位置。我使用$(this).offset()。left&a…...

珠海市企业网站建设/中国站长网站

正则表达式使用一种数学算法来解决计算机程序中的文本检索&#xff0c;匹配等问题&#xff0c;正则表达式语言是一种专门用来处理字符串的语言。可以认为正则表达式表达了一个字符串的书写规则。 正则表达式是由普通字符以及特殊字符&#xff08;元字符&#xff09;组成的文字…...

上海做网站的公/做网站的流程与步骤

最高人民法院《关于适用<中华人民共和国民法典>婚姻家庭编的解释&#xff08;一&#xff09;》第二十九条规定&#xff1a;“当事人结婚前&#xff0c;父母为双方购置房屋出资的&#xff0c;该出资应当认定为对自己子女个人的赠与&#xff0c;但父母明确表示赠与双方的除…...