更新记录

1.0.2(2024-11-27) 下载此版本

本次仅增加使用 babeljs强力混淆 的说明。加解密方法并没有改变。

1.0.1(2023-08-03) 下载此版本

优化

1.0.0(2023-08-03) 下载此版本

首次更新

查看更多

平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.8.3 app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

cainiao-crypto

依赖 cryptojs

// 不同的包工具可能有兼容问题,使用你正在使用的工具安装
// 我习惯使用 npm
npm i crypto-js -S

请先修改 密钥 和 偏移量,并备份保存好

文件路径/js_sdk/cainiao-crypto/cainiao-crypto.js

const keyCode = '1234567890ABCDEF' //十六位十六进制数作为密钥
const ivCode = 'FEDCBA0987654321' //十六位十六进制数作为密钥偏移量

在使用的页面直接引用

// 从自己所放到路径引入,检查下面路径是否正确
import { Encrypt, Decrypt } from '@/js_sdk/cainiao-crypto/cainiao-crypto.js'
// 加密
const enStr = Encrypt(JSON.stringify(str))
// 解密
const deStr = JSON.parse(Decrypt(enStr))

性能问题

JSON.stringify和JSON.parse在数据较大时有性能问题,所以不建议加密特别大的数据。除非你有替换或者优化的方法

安全性

请保管好密钥和偏移量
没有绝对的安全,对安全性有高要求的还是使用非对称加密比较好。

因为是可逆加密,密钥和偏移量存储在前端,建议使用以下方法增加安全性:

  • 对代码尤其是密钥和偏移量进行加密混淆,加密混淆工具网上有很多,可自己查找。
  • 可以试试以下两种加密混淆,二选一,建议使用加密混淆1
  • 如果不会配置,或者加密后的文件报错无法运行,就用加密混淆2
  1. 首先要将包含密钥和偏移量、加密方法所在的js文件进行【babeljs】和压缩处理,防止加密报错,选中以下选项即可

    • [x] lineWrap
    • [x] react【不选会导致加密后报错,原因不明】
    • [x] stage-3
    • [x] stage-2
    • [x] stage-1
    • [x] stage-0
    • [x] modules false
    • [x] bug fixes
    • [x] force all transforms【必选】
  2. 加密混淆1】,选中以下选项即可

    强力混淆,会略微增加代码的运行速度,肉眼看不出来,不影响使用

    • [x] 常规配置
      • [x] 标记
      • [x] 压缩成一行
      • [x] 防止格式化
    • [x] 死代码注入
    • [x] 变量规则混淆
    • [x] 函数&变量全部重命名
    • [x] 保留字符串 【如果报错找不到某些字符串,请补充】
      • [x] crypto-js
    • [x] 保留变量:【如果报错找不到某些变量,请补充】
      • [x] CryptoJS
      • [x] process
      • [x] plus
      • [x] uniCloud
      • [x] uni
  3. 加密混淆2】,选中以下选项即可

    • [x] 压缩成一行
    • [x] 防止格式化
    • [x] 分割字符串
    • [x] 变量加密
    • [x] Unicode转义序列
    • [x] 调试保护
    • [x] 禁用控制台输出
  4. 如果是在app中使用:

    • 打包时选择“对配置的js/nvue进行原生混淆”,此选请仔细阅读【配置指南
    • 打包后对安装包进行加固

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问