加密方案
加密流程
- 生成随机盐值(salt)
- PBKDF2-SHA256 派生 256 位密钥
- 生成随机 IV,AES-GCM 加密正文
- 存储
JSON({salt, iv, data})到enc字段
解密流程
- 获取文章的
enc字段 - 用户输入密码
- 前端 PBKDF2 派生密钥 + AES-GCM 解密
- 显示明文
解密完全在前端完成,密码永远不发送到服务端。即使服务端被攻破也无法获得明文。
端到端加密,密文只存服务端
JSON({salt, iv, data}) 到 enc 字段enc 字段