PhasWer Logo

数据加密工具

输入 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,无任何第三方依赖。