数据加密工具
输入 CSV 数据
或将 CSV 文件拖放到此处 / 点击选择文件
设置密码
输入 / 输出格式
输入 — 标准 CSV 文本,首行为表头,后续每行一条数据,UTF-8 编码。
// 输入示例
时间,播放量,累计粉丝,点赞,收藏,硬币,评论,弹幕,分享
2025/8/16,77455,248,2177,584,446,487,67,55
2025/8/17,77492,251,2211,583,446,487,67,55
输出 — 下载生成的 data-all.js,替换 js/pages/data-all.js 即可。密文格式为 salt:iv:ciphertext(三段 Base64)。
// 输出示例
a3JhbmRvbXNhbHQ6aXZ2ZWN0b3I6ZW5jcnlwdGVkZGF0YQ==
加密方案
PBKDF2 密钥派生
用户密码不是直接用于加密。它首先通过 PBKDF2-HMAC-SHA256 算法,配合 16 字节随机盐值,经过迭代派生为 256 位 AES 密钥。盐值每次加密随机生成,因此相同密码的派生密钥每次都不同。
AES-256-GCM 加密
使用派生密钥和 12 字节随机 IV 对明文进行 AES-GCM 加密。GCM(Galois/Counter Mode)是认证加密模式,解密时会自动验证密文完整性——如果密文被篡改或密码错误,解密操作直接抛出异常。
输出结构
最终输出将 Salt、IV、Ciphertext 分别 Base64 编码后用冒号连接:Base64(Salt):Base64(IV):Base64(Ciphertext)。解密时按同样顺序拆分即可。全程使用浏览器原生 crypto.subtle API,无任何第三方依赖。
