在移动自动化、接口测试、数据安全传输等场景中,数据加密与解密是保障信息安全的核心环节。直接在自动化脚本中调用api即可实现摘要算法、对称加密、非对称加密、Base64、Gzip 等功能,满足数据校验、敏感信息保护、数据压缩传输等需求。
一、冰狐智能辅助加解密总览
冰狐平台的加解密模块覆盖摘要算法、对称加密、非对称加密、编码压缩四大类,完全适配自动化脚本的开发逻辑,支持 JavaScript 语法,无需复杂配置,开箱即用。具体能力如下:
- 摘要算法:MD5、SHA-256、HMAC-SHA256,用于数据完整性校验、密码加密存储;
- 对称加密:AES、DES,加密效率高,适合大量数据加密;
- 非对称加密:RSA,公钥加密、私钥解密,安全等级高,适合密钥交换、小数据加密;
- 编码压缩:Base64 编解码、Gzip 压缩解压,适配数据传输、存储场景。
所有 API 均遵循参数标准化、返回值统一化原则,核心调用逻辑一致,降低学习成本,同时支持自定义配置(如加密模式、密钥长度、填充方式等),满足不同业务场景的安全需求。
二、摘要算法(Digest)
摘要算法属于单向加密,无法逆向解密,主要用于验证数据是否被篡改、密码不可逆存储。冰狐平台支持 MD5、SHA-256、HMAC-SHA256 三种常用算法,通过digest()函数实现,参数简洁易用。
1. 核心参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 算法类型:md5、sha-256、hmac-sha-256 |
| str | string | 是 | 待加密的原始字符串 |
| options | Object | 否 | 配置项:secret(仅 HMAC 有效)、returnString(默认 true,返回字符串;false 返回字节数组) |
2. Demo 源码(摘要算法全场景测试)
// 冰狐智能辅助 摘要算法测试脚本
function main() {
// 1. MD5加密(无密钥)
var md5Ret = digest('md5', '冰狐智能辅助-测试数据');
console.log('MD5加密结果:', md5Ret);
// 2. SHA-256加密(无密钥)
var sha256Ret = digest('sha-256', '冰狐智能辅助-测试数据');
console.log('SHA-256加密结果:', sha256Ret);
// 3. HMAC-SHA256加密(带密钥,需配置secret)
var hmacOptions = {
secret: 'icefox_2026_secret', // 自定义密钥
returnString: true
};
var hmacRet = digest('hmac-sha-256', '冰狐智能辅助-测试数据', hmacOptions);
console.log('HMAC-SHA256加密结果:', hmacRet);
// 4. 验证数据完整性(对比摘要)
var originalStr = '冰狐智能辅助-测试数据';
var tamperedStr = '冰狐智能辅助-篡改数据';
var originalDigest = digest('md5', originalStr);
var tamperedDigest = digest('md5', tamperedStr);
console.log('原始数据摘要:', originalDigest);
console.log('篡改数据摘要:', tamperedDigest);
console.log('数据是否被篡改:', originalDigest !== tamperedDigest);
}
3. 适用场景
- 密码本地存储:将用户密码通过 MD5/HMAC 加密后存储,避免明文泄露;
- 接口数据校验:客户端生成数据摘要,服务端对比摘要验证数据完整性;
- 文件完整性检测:对文件内容生成摘要,防止文件被恶意篡改。
三、对称加密(AES/DES)
对称加密的核心是加密和解密使用同一密钥,加密速度快、效率高,适合自动化脚本中大量敏感数据(如账号、token、配置信息)的加密传输。冰狐平台支持 AES(高级加密标准)、DES(数据加密标准)两种算法,API 逻辑完全一致,仅构造函数参数不同。
1. AES 加密(推荐,安全性更高)
AES 是目前主流的对称加密算法,支持自定义加密模式(默认 AES,支持 ECB/PKCS5Padding 等),密钥长度默认 128 位。
核心 API
new AES(mode):构造函数,mode 可选加密模式,默认 'AES';aes.genKey(len):生成密钥,len 为密钥长度,默认 128;aes.encrypt(data, key):加密数据,返回加密字符串;aes.decrypt(encryptedData, key):解密数据,返回原始字符串。
2. DES 加密
DES 是经典对称加密算法,支持 DESede(3DES)模式,加密逻辑与 AES 完全一致,仅构造函数支持name参数(默认 'DES')。
3. Demo 源码(AES+DES 联合测试)
// 冰狐智能辅助 对称加密(AES/DES)测试脚本
function main() {
var testData = '账号:icefox_001;密码:123456;token:abcdef123456';
console.log('原始敏感数据:', testData);
// ========== 1. AES加密解密 ==========
var aes = new AES(); // 默认模式:AES
var aesKey = aes.genKey(); // 生成128位密钥
console.log('AES密钥:', aesKey);
// AES加密
var aesEncrypted = aes.encrypt(testData, aesKey);
console.log('AES加密结果:', aesEncrypted);
// AES解密
var aesDecrypted = aes.decrypt(aesEncrypted, aesKey);
console.log('AES解密结果:', aesDecrypted);
console.log('AES加解密是否一致:', testData === aesDecrypted);
// ========== 2. DES加密解密 ==========
var des = new DES(); // 默认模式:DES
var desKey = des.genKey(); // 生成密钥
console.log('DES密钥:', desKey);
// DES加密
var desEncrypted = des.encrypt(testData, desKey);
console.log('DES加密结果:', desEncrypted);
// DES解密
var desDecrypted = des.decrypt(desEncrypted, desKey);
console.log('DES解密结果:', desDecrypted);
console.log('DES加解密是否一致:', testData === desDecrypted);
// 自定义加密模式(ECB/PKCS5Padding)
var aesCustom = new AES('AES/ECB/PKCS5Padding');
var customEncrypted = aesCustom.encrypt(testData, aesKey);
var customDecrypted = aesCustom.decrypt(customEncrypted, aesKey);
console.log('自定义AES模式解密结果:', customDecrypted);
}
4. 适用场景
- 自动化脚本敏感信息存储:加密存储账号、密码、接口密钥,避免明文暴露;
- 设备间数据传输:自动化任务中设备与云端、设备与设备间的数据加密传输;
- 本地数据保护:加密脚本配置文件、缓存数据,防止数据被窃取。
四、非对称加密(RSA):高安全密钥交换方案
非对称加密采用公钥加密、私钥解密,密钥分为公钥(可公开)和私钥(保密),安全等级远高于对称加密,适合自动化场景中密钥交换、小数据敏感信息加密(如支付信息、核心配置)。冰狐 RSA API 支持自定义加密模式,密钥生成后返回 JSON 对象,调用便捷。
1. 核心 API
new RSA(mode):构造函数,mode 可选加密模式,默认 'RSA';rsa.genKey(len):生成密钥对,返回{publicKey: '', privateKey: ''};rsa.encrypt(data, publicKey):公钥加密,返回加密字符串;rsa.decrypt(encryptedData, privateKey):私钥解密,返回原始字符串。
2. Demo 源码(RSA 非对称加密测试)
// 冰狐智能辅助 RSA非对称加密测试脚本
function main() {
var sensitiveData = '冰狐智能辅助-核心密钥:ICEFOX_RSA_2026';
console.log('原始核心数据:', sensitiveData);
// 1. 初始化RSA实例,生成密钥对(公钥+私钥)
var rsa = new RSA();
var rsaKey = rsa.genKey(); // 默认128位密钥
console.log('RSA公钥:', rsaKey.publicKey);
console.log('RSA私钥:', rsaKey.privateKey);
// 2. 公钥加密(公钥可公开,任何人都可加密)
var rsaEncrypted = rsa.encrypt(sensitiveData, rsaKey.publicKey);
console.log('RSA公钥加密结果:', rsaEncrypted);
// 3. 私钥解密(仅私钥持有者可解密)
var rsaDecrypted = rsa.decrypt(rsaEncrypted, rsaKey.privateKey);
console.log('RSA私钥解密结果:', rsaDecrypted);
console.log('RSA加解密是否一致:', sensitiveData === rsaDecrypted);
// 自定义加密模式测试
var rsaCustom = new RSA('RSA/ECB/PKCS5Padding');
var customEncrypted = rsaCustom.encrypt(sensitiveData, rsaKey.publicKey);
var customDecrypted = rsaCustom.decrypt(customEncrypted, rsaKey.privateKey);
console.log('自定义RSA模式解密结果:', customDecrypted);
}
3. 适用场景
- 自动化脚本密钥交换:设备间安全传输对称加密密钥;
- 高敏感数据加密:加密支付信息、核心配置、设备唯一标识;
- 接口签名验证:公钥验签、私钥加签,保障接口请求合法性。
五、编码与压缩(Base64/Gzip):数据传输优化工具
除加密算法外,冰狐平台还提供 Base64 编解码、Gzip 压缩解压功能,解决自动化脚本中二进制数据传输、数据体积过大的问题,常与加密算法配合使用(如加密后 Base64 编码、数据压缩后加密)。
1. Base64 编解码
base64Encode(data, flag):字节数组编码为字符串,flag 可选配置(无填充、无换行等);base64Decode(data, flag):字符串解码为字节数组。
2. Gzip 压缩解压
gzipCompress(data):字符串压缩为字节数组,减小数据体积;gzipDecompress(data):字节数组解压为原始字符串。
3. Demo 源码(编码 + 压缩全流程测试)
// 冰狐智能辅助 Base64编解码+Gzip压缩解压测试脚本
function main() {
var longText = '冰狐智能辅助是一款专注于移动自动化的工具平台,支持脚本编写、设备控制、数据加密等功能,广泛应用于自动化测试、批量操作、数据安全等场景。本文基于官方文档,详细讲解加解密API的使用方法,提供可直接运行的Demo源码,助力开发者快速落地安全自动化脚本。';
console.log('原始长文本长度:', longText.length);
// ========== 1. Gzip压缩解压 ==========
// 压缩
var gzipCompressed = gzipCompress(longText);
console.log('Gzip压缩后字节数组长度:', gzipCompressed.length);
// 解压
var gzipDecompressed = gzipDecompress(gzipCompressed);
console.log('Gzip解压后文本:', gzipDecompressed);
console.log('压缩解压是否一致:', longText === gzipDecompressed);
// ========== 2. Base64编解码 ==========
// 字节数组转Base64(压缩后编码)
var base64Encoded = base64Encode(gzipCompressed);
console.log('Base64编码结果:', base64Encoded);
// Base64解码为字节数组
var base64Decoded = base64Decode(base64Encoded);
// 解码后解压
var finalText = gzipDecompress(base64Decoded);
console.log('Base64解码+Gzip解压结果:', finalText);
console.log('全流程是否一致:', longText === finalText);
// Base64自定义flag测试(无填充)
var base64NoPadding = base64Encode(gzipCompressed, 1);
console.log('Base64无填充编码:', base64NoPadding);
}
4. 适用场景
- 二进制数据传输:将加密后的字节数组转为 Base64 字符串,适配接口传输;
- 大数据优化:长文本、配置文件 Gzip 压缩后存储 / 传输,节省流量;
- 加密数据适配:加密结果为字节数组时,Base64 编码后便于存储展示。
六、综合实战
在实际自动化项目中,通常会组合使用多种加解密工具,实现「数据压缩→加密→编码→传输→解码→解密→解压」的全流程安全处理。以下是完整的综合 Demo,模拟自动化脚本中敏感数据的安全传输场景。
综合 Demo 源码
// 冰狐智能辅助 综合加解密实战脚本(安全数据传输全流程)
function main() {
console.log('========== 冰狐智能辅助 综合加解密实战 ==========');
// 原始敏感数据(自动化脚本核心配置)
var originalData = {
deviceId: 'ICEFOX_DEVICE_001',
account: 'auto_test_001',
password: 'auto@123456',
apiKey: 'icefox_2026_api_key',
taskConfig: '每日自动执行10次,间隔5分钟'
};
var originalStr = JSON.stringify(originalData);
console.log('1. 原始数据:', originalStr);
try {
// 步骤1:Gzip压缩(减小体积)
var compressed = gzipCompress(originalStr);
console.log('2. Gzip压缩完成,字节长度:', compressed.length);
// 步骤2:AES加密(对称加密,高效安全)
var aes = new AES('AES/ECB/PKCS5Padding');
var aesKey = aes.genKey();
var encrypted = aes.encrypt(originalStr, aesKey);
console.log('3. AES加密完成,加密结果:', encrypted);
// 步骤3:Base64编码(适配传输)
var encodedData = base64Encode(encrypted);
console.log('4. Base64编码完成,传输数据:', encodedData);
// 模拟数据传输(云端/设备间)
console.log('========== 数据传输中 ==========');
// 步骤4:Base64解码
var decodedData = base64Decode(encodedData);
// 步骤5:AES解密
var decryptedStr = aes.decrypt(decodedData, aesKey);
console.log('5. AES解密完成:', decryptedStr);
// 步骤6:Gzip解压
var decompressedStr = gzipDecompress(compressed);
var finalData = JSON.parse(decompressedStr);
console.log('6. 最终还原数据:', finalData);
// 验证数据完整性
console.log('========== 数据验证 ==========');
console.log('数据是否完整:', originalStr === decryptedStr);
console.log('设备ID匹配:', originalData.deviceId === finalData.deviceId);
console.log('账号密码匹配:', originalData.password === finalData.password);
toast('综合加解密实战执行成功,数据安全无误!');
} catch (e) {
console.error('加解密流程异常:', e);
toast('执行失败:' + e.message);
}
}
七、冰狐加解密 API 使用注意事项
- 密钥安全:对称加密密钥、RSA 私钥严禁硬编码在脚本中,建议通过冰狐平台「自定义数据」功能存储,避免泄露;
- 算法选择:普通数据用 AES/DES,高敏感数据用 RSA,数据校验用 HMAC-SHA256,平衡安全与效率;
- 参数规范:HMAC 算法必须配置
secret,Base64 编解码需匹配flag参数,避免解码失败; - 异常处理:加解密、压缩解压需添加
try-catch,处理密钥错误、数据篡改、格式异常等问题; - 模式兼容:跨平台 / 跨服务加解密时,需统一加密模式(如 AES/ECB/PKCS5Padding),确保解密成功。
八、总结
冰狐智能辅助平台的加解密 API功能全面、调用简单、适配性强,覆盖自动化脚本中的数据安全需求。从摘要算法的完整性校验,到对称 / 非对称加密的敏感数据保护,再到 Base64/Gzip 的传输优化,开发者可根据业务场景自由组合使用,无需关注底层实现,专注于自动化逻辑开发。
5691

被折叠的 条评论
为什么被折叠?



