原生JS实现常见加密算法示例

        在网络通信和数据传输过程中,我们需要保护数据的安全性和机密性,因此使用加密和解密技术来加强数据安全性。下面将介绍三种常见的加密算法,并提供相应的代码示例。

1. Base64 加密/解密

Base64是一种常见的编码方式,用于将二进制数据转换为文本格式。它可以将任意的二进制数据编码成纯文本格式,从而方便在各种传输协议中使用,例如邮件、HTTP等等。

加密

将字符串转换为Base64编码格式,可以使用 JavaScript 内置的 btoa() 函数。示例代码如下:

let str = 'Hello World';
let encoded = btoa(str);
console.log(encoded);
// 输出: SGVsbG8gV29ybGQ=

解密

将 Base64 编码格式还原成原始字符串,可以使用 JavaScript 内置的 atob() 函数。示例代码如下:

let encoded = 'SGVsbG8gV29ybGQ=';
let decoded = atob(encoded);
console.log(decoded);
// 输出:Hello World

2. MD5 加密/解密

MD5是一种常用的哈希算法,可以将任意长度的消息摘要成固定长度的128位哈希值。MD5广泛应用于密码存储、数字签名、数据完整性验证等领域。

加密

使用 JavaScript 库 CryptoJS 来实现 MD5 加密。示例代码如下:

// 导入 CryptoJS 库
import CryptoJS from 'crypto-js';

let message = 'Hello World';
let encrypted = CryptoJS.MD5(message).toString();
console.log(encrypted);
// 输出: 86fb269d190d2c85f6e0468ceca42a20

3. AES 加密/解密

AES是一种高级加密标准,它是一种对称加密算法,加密和解密使用相同的密钥。AES加密算法的密钥长度可以是128、192或256位,目前AES加密算法被广泛应用于网络通信、文件加密、数据库加密等领域。

加密

使用 JavaScript 库 CryptoJS 来实现 AES 加密。示例代码如下:

// 导入 CryptoJS 库
import CryptoJS from 'crypto-js';

let message = 'Hello World';
let key = 'MySecretKey123456'; // 密钥
let encrypted = CryptoJS.AES.encrypt(message, key).toString();
console.log(encrypted);

解密

使用 JavaScript 库 CryptoJS 来实现 AES 解密。示例代码如下:

// 导入 CryptoJS 库
import CryptoJS from 'crypto-js';

let key = 'MySecretKey123456'; // 密钥
let encrypted = 'U2FsdGVkX1/HtOzsLm7V4g6J+U6SEH1CpZPY7TJGTg=';
let decrypted = CryptoJS.AES.decrypt(encrypted, key).toString(CryptoJS.enc.Utf8);
console.log(decrypted);
// 输出:Hello World

以上就是三种常见的加密算法以及相应的代码示例。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值