写一个js函数文件调用Crypto-JS
时间: 2025-03-24 17:22:25 浏览: 33
好的!以下是关于如何编写一个 JavaScript 函数并调用 `Crypto-JS` 库的详细介绍:
---
### 使用 Crypto-JS 的 JS 函数示例
#### 步骤说明:
1. **引入 Crypto-JS**:首先需要安装或加载 `crypto-js` 模块。如果你是在浏览器环境中使用,可以直接通过 `<script>` 标签引用;如果是 Node.js 环境,则可以使用 npm 安装。
- 浏览器环境引入:
```html
<script src="https://cdn.jsdelivr.net/npm/[email protected]/crypto-js.min.js"></script>
```
- Node.js 环境安装及导入:
```bash
npm install crypto-js
```
在代码中:
```javascript
const CryptoJS = require("crypto-js");
```
2. **编写加密解密函数**:例如 MD5 加密、AES 加密等。
---
#### 示例代码
以下是一个基于 AES 对称加解密的例子:
```javascript
// 引入 crypto-js (Node.js 或者 CDN 均可用)
const CryptoJS = require('crypto-js');
/**
* AES 加密函数
* @param {string} data 待加密的数据
* @param {string} key 密钥(需保证长度合适)
* @returns {string} 返回加密后的数据(Base64编码字符串形式)
*/
function aesEncrypt(data, key) {
try {
// 将明文data和key传递给CryptoJS.AES.encrypt进行加密操作
return CryptoJS.AES.encrypt(data, key).toString();
} catch (error) {
console.error('加密失败:', error);
throw new Error('Encryption failed');
}
}
/**
* AES 解密函数
* @param {string} encryptedData 已加密的数据(Base64编码字符串形式)
* @param {string} key 密钥
* @returns {string} 返回解密后的原始数据
*/
function aesDecrypt(encryptedData, key) {
try {
// 解析已加密的数据,并尝试解密返回结果
let decryptedBytes = CryptoJS.AES.decrypt(encryptedData, key);
return decryptedBytes.toString(CryptoJS.enc.Utf8); // 转换回UTF-8格式文本
} catch (error) {
console.error('解密失败:', error);
throw new Error('Decryption failed');
}
}
// 示例测试代码
const secretKey = 'mySecretKey123'; // 自定义密钥
const originalText = 'Hello, this is a test message!';
console.log('原文:', originalText);
try {
// 加密处理
const encryptedText = aesEncrypt(originalText, secretKey);
console.log('加密后:', encryptedText);
// 解密处理
const decryptedText = aesDecrypt(encryptedText, secretKey);
console.log('解密后:', decryptedText);
} catch (e) {
console.error(e.message);
}
```
---
### 运行效果解释
上述代码展示了如何利用 `Crypto-JS` 实现简单的对称加密算法(AES)。具体步骤包括以下几个部分:
1. 定义了一个名为 `aesEncrypt` 和 `aesDecrypt` 的两个辅助工具函数。
2. 利用了 `CryptoJS.AES.encrypt()` 来完成加密工作。
3. 同样地,在解密阶段也采用了对应的 `decrypt()` 方法将加密信息还原成最初的纯文本内容。
---
###
阅读全文
相关推荐


















