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

记录-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

如果对您有所帮助,欢迎您点个关注,我会定时更新技术文档,大家一起讨论学习,一起进步。

 

http://www.lryc.cn/news/61839.html

相关文章:

  • 二十三、高级网络技术及应用——BFD解析
  • 大家经常说的java八股文到底是什么?让我来总结一下吧!
  • C++备忘录模式实践:轻松实现撤销与恢复功能
  • 如何选择CDN加速平台?
  • 其实苹果知道自己离不开中国制造,因此悄悄给自己留了后路
  • 必用WhatsApp营销的4个理由
  • Python从入门到精通9天(异常的处理)
  • 微服务学习——Docker
  • QMS-云质说质量 - 5 解决中小企业质量问题的钥匙在哪里?
  • 基于Java+Spring+vue+element社区疫情服务平台设计和实现
  • 实战项目:手把手带你实现一个高并发内存池
  • 原理这就是索引下推呀
  • 个人通讯录(二)
  • DockerK8S常见面试知识
  • tcpdump arping nsenter
  • Python - 简单快速回忆基础语法
  • 蓝牙耳机接打电话哪个比较好?接打电话最好的蓝牙耳机
  • DeepSORT中的卡尔曼滤波
  • 【Linux网络服务】SSH远程访问及控制
  • AutoGPT的出现,会让程序员失业吗?
  • 微信小程序php+vue 校园租房指南房屋租赁系统
  • 水果FL Studio21最新中文完整版下载更新及内容介绍
  • springboot+vue小区物业管理系统(源码+文档)
  • GEEer成长日记二十三:chatGPT可以帮我们提取水体边缘吗?
  • 程序员阿里三面无理由挂了,被HR一句话噎死,网友:这可是阿里啊
  • js面试题
  • SpringCloud --- Gateway服务网关
  • 【java】CGLIB动态代理原理
  • ArcGIS Pro、Python、USLE、INVEST模型等多技术融合的生态系统服务构建生态安全格局
  • openstack安装应答文件时报错处理