记录-JavaScript常规加密技术
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助
当今Web开发中,数据安全是一个至关重要的问题,为了确保数据的安全性,我们需要使用加密技术。JavaScript作为一种客户端编程语言,可以很好地为数据进行加密。在本篇文章中,我们将为你提供一个常规JavaScript加密大全,以及案例代码来演示如何使用它们。
Base64加密
Base64是一种将二进制数据编码为ASCII字符的编码方式。这种编码方式广泛应用于将二进制数据转换为文本数据的场合,例如在电子邮件中传输二进制数据。以下是JavaScript实现Base64加密的代码:
function base64Encode(str) {
return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode('0x' + p1)));
}
这里我们使用了JavaScript内置的btoa()函数和encodeURIComponent()函数。其中,btoa()函数可以将字符串编码为Base64格式,而encodeURIComponent()函数则可以将字符串转换为可传输的URI格式。我们还使用了一个正则表达式来将URI格式中的特殊字符进行替换。最后,我们将处理后的字符串返回作为结果。
以下是一个使用Base64加密的例子:
const originalString = "Hello, world!";
const encodedString = base64Encode(originalString);
console.log("Original string:", originalString);
console.log("Encoded string:", encodedString);
运行上述代码,输出将会是:
Original string: Hello, world!
Encoded string: SGVsbG8sIHdvcmxkIQ==
MD5加密
MD5是一种广泛使用的消息摘要算法,用于验证数据完整性和防止数据被篡改。MD5生成的摘要信息是一个128位的二进制数据,通常表示为32个十六进制数字。以下是JavaScript实现MD5加密的代码:
function md5(str) {
let md5Hash = CryptoJS.MD5(str);
return md5Hash.toString(CryptoJS.enc.Hex);
}
在这里,我们使用了一个JavaScript库CryptoJS来实现MD5加密。我们首先将输入的字符串传递给CryptoJS.MD5()函数进行摘要计算,然后将结果转换为十六进制格式的字符串返回。
以下是一个使用MD5加密的例子:
const originalString = "Hello, world!";
const hashedString = md5(originalString);
console.log("Original string:", originalString);
console.log("Hashed string:", hashedString);
运行上述代码,输出将会是:
Original string: Hello, world!
Hashed string: ed076287532e86365e841e92bfc50d8c
AES加密
AES是一种对称密钥加密算法,广泛应用于数据加密和保护。以下是JavaScript实现AES加密的代码:
function aesEncrypt(str, key) {
let encrypted = CryptoJS.AES.encrypt(str, key);
return encrypted.toString();
}
function aesDecrypt(str, key) {
let decrypted = CryptoJS.AES.decrypt(str, key);
return decrypted.toString(CryptoJS.enc.Utf8);
}
这里我们同样使用了CryptoJS库来实现AES加密。我们首先调用CryptoJS.AES.encrypt()函数来加密输入字符串,然后将结果转换为字符串并返回。解密过程也很类似,我们调用CryptoJS.AES.decrypt()函数来解密字符串,然后将结果转换为UTF-8格式的字符串并返回。
以下是一个使用AES加密的例子:
const originalString = "Hello, world!";
const key = "my-secret-key";
const encryptedString = aesEncrypt(originalString, key);
const decryptedString = aesDecrypt(encryptedString, key);
console.log("Original string:", originalString);
console.log("Encrypted string:", encryptedString);
console.log("Decrypted string:", decryptedString);
运行上述代码,输出将会是:
Original string: Hello, world!
Encrypted string: U2FsdGVkX19Jj+YoIjqJZvT8WxtsA9X+wLjKzFMGk8M=
Decrypted string: Hello, world!
以上是一个常规JavaScript加密大全及案例代码,希望可以对你有所帮助!
jsjiami.com
如果您对文章内容有不同看法,或者疑问,欢迎到评论区留言,或者私信我都可以。
也可以到上方网站,底部有我联系方式详谈
如遇自己源码加密后没备份,可以找我们解决解出恢复源码,任何加密都可以
本文转载于:
https://juejin.cn/post/7221350704471785530
如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

记录-JavaScript常规加密技术的更多相关文章
- 详解升讯威在线客服系统前端 JavaScript 脚本加密技术(1)
我在业余时间开发维护了一款免费开源的升讯威在线客服系统,也收获了许多用户.对我来说,只要能获得用户的认可,就是我最大的动力. 这段时间有几个技术小伙伴问了我一个有意思的问题:"你的前端脚本是 ...
- 非对称加密技术中,iFace [ 爱妃链 ]人脸密钥技术排名第三,将弥补区块链现有不足
最近,区块链领域,出现了一个比较热门技术的讨论,人脸密钥技术,可能大家还对这个名词感到很陌生,但是熟悉加密技术的技术大牛可能一听就能够明白大体的意思了,但是也正是这一熟悉而陌生的技术名词,掀起了区块链 ...
- 非对称加密技术里面,最近出现了一种奇葩的密钥生成技术,iFace人脸密钥技术
要说到非对称加密技术啊,得先说说对称加密技术 什么是对称加密技术 对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥加密. 也就是密钥也可以用作解密密钥,这种方法在密码学中叫做对称 ...
- 【云安全与同态加密_调研分析(8)】同态加密技术及其应用分析——By Me
◆同态加密技术(Homomorphic Encryption, HE)及其应用◆ ◆加密方案◆ ◆应用领域◆ ◆厂商◆ ◆同态加密现有产品形态和工程实现◆ ◆参考链接◆ ◆备注(其他参考信息)◆ 同态 ...
- PCB .NET Reactor 加密工具(NecroBit加密技术)
在PCB行业中,我们使用的软件或脚本绝大多数都用非编译型语言写程序,而从一开始选择这种编程语言,就注定了程序的源码有被曝露风险.我们PCB工程系统用.NET语言编写,C#编译后会被转换为IL代码的中间 ...
- MD5和sha1加密算法--散列加密技术 MD5:128bit的大整数
在很多电子商务和社区应用中,我们都要存放很多的客户的资料,其中包括了很多的隐私信息和客户不愿被别人看到的信息,当然好有客户执行各种操作的密码,此时就需要对客户的信息进行加密再存储,目前有两种比较好的加 ...
- PHP加密技术
一.MD5加密 直接干,这里以一个登录页面为例: <?php require_once 'config/database.config.php'; $act=$_REQUEST['act']; ...
- 前端html、Javascript、CSS技术小结
简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页 ...
- Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC
Java加密技术(一)——BASE64与单向加密算法MD5&SHA&MAC 博客分类: Java/Security Javabase64macmd5sha 加密解密,曾经是我一 ...
- 斯诺登称NSA攻破互联网加密技术
据财新网报道,本已渐渐平静的斯诺登泄密事件在9月6日再掀波澜.英国<卫报>.美国<纽约时报>和美国非盈利调查新闻机构ProPublica联合报道称,根据斯诺登提供的大量文件,美 ...
随机推荐
- 《Learning from Context or Names?An Empirical Study on Neural Relation Extraction》论文阅读笔记
代码 原文地址 预备知识: 1.什么是对比学习? 对比学习是一种机器学习范例,将未标记的数据点相互并列,以教导模型哪些点相似,哪些点不同. 也就是说,顾名思义,样本相互对比,属于同一分布的样本在嵌入空 ...
- 如何更改 C# Record 构造函数的行为
如何更改 C# Record 构造函数的行为 Record 是 C# 9 中的一个新功能.Record是从Structs借用的特殊类, 因为它们具有 基于值的相等性,您可以将它们视为两类类型之间的混合 ...
- NC15136 迷宫
题目链接 题目 题目描述 这是一个关于二维迷宫的题目.我们要从迷宫的起点 'S' 走到终点 'E',每一步我们只能选择上下左右四个方向中的一个前进一格. 'W' 代表墙壁,是不能进入的位置,除了墙壁以 ...
- Java集合篇之set,面试官:请说一说HashSet、LinkedHashSet、TreeSet的区别?
写在开头 Java的集合世界中主要由List,Set,Queue,Map构成,我们在之前的博文中已经学习了List,接下来我们继续学习Set集合. Set特点:存取无序,不可以存放重复的元素,不可以用 ...
- 升级 MDK 5.37 后的问题处理: AC6编译选项, printf, 重启失效等
烧录后 Reset And Run 重启失效 存在于 MDK ARM 5.28 之后包括 5.37 的版本. 这些版本即使勾选 Reset And Run, 在烧录后也不会自动重启执行 需要做以下设置 ...
- 【OpenGL ES】渐变凸镜贴图
1 前言 正方形图片贴到圆形上 中将正方形图片上的纹理映射到圆形模型上,凸镜贴图 中介绍了将圆形图片上的纹理映射到凸镜模型上.如果将原图片逐渐变为凸镜效果,中间的变化过程又是什么样的? 图片的 ...
- 使用UTL_HTTP包获取网页内容
UTL_HTTP 包提供了容易的方式通过HTTP协议获取网页内容,下面结合几个例子介绍一下: ----------------------------------------------------- ...
- oracle FGAC(细粒度访问控制)介绍
在ORACLE中,RLS有时也叫做虚拟私有数据库(VPD)或者细粒度访问控制(FGAC). RLS由8i引进,利用这一特性我们可以对表定义安全策略(并且指明对表的操作类型),实现对用户可以看到或者修改 ...
- 【LeetCode二叉树#19】有序数组转换为二叉搜索树(构造二叉树)
将有序数组转换为二叉搜索树 力扣题目链接(opens new window) 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个 ...
- Linux Cheat Sheet
