文件加密工具开发

开发基于Web技术的客户端文件加密工具,支持AES-256-GCM加密、多文件处理和安全密钥管理,完全前端实现且符合安全标准。
构建一个基于HTML5、CSS3和JavaScript的客户端文件加密工具,使用Web Crypto API实现以下功能:

1. 界面与交互
- 创建拖放式文件选择界面,支持多文件批量上传
- 实时显示加密进度条和状态指示器
- 响应式设计适配不同设备屏幕

2. 核心加密功能
- 采用AES-256-GCM算法实现军用级加密
- 通过PBKDF2从用户密码安全派生加密密钥
- 实现密码强度强制策略(基于熵值计算):
  • 最小长度12字符
  • 要求大小写字母+数字+特殊符号
  • 实时强度可视化反馈

3. 文件处理
- 支持批量加密多个文件
- 生成自定义扩展名的加密文件(如.enc)
- 实现大文件分块流式加密处理(>1GB)
- 内存安全机制:
  • 自动清除内存中的敏感数据
  • 使用Web Workers隔离加密过程

4. 解密功能
- 独立解密界面与密码验证流程
- 加密元数据完整性校验
- 解密失败时的安全错误处理

5. 密钥管理
- 加密密钥导出/导入功能
- 显式安全警告提示:
  • 密钥存储风险说明
  • 密码丢失不可恢复警告

6. 日志系统
- 记录操作日志(不含敏感信息):
  • 文件大小/类型
  • 加密时间戳
  • 算法参数
- 日志导出为安全格式

7. 技术实现要求
- 纯前端实现(零服务器依赖)
- 使用Web Crypto API原生加密
- 遵循OWASP客户端安全准则
- 兼容现代浏览器(Chrome/Firefox/Edge)

8. 安全规范
- 所有加密操作在内存隔离环境执行
- 自动终止空闲会话
- 禁用浏览器缓存敏感数据
- 实现内容安全策略(CSP)防护

输出格式要求:
1. 模块化JavaScript代码结构
2. 符合ES6+标准
3. 详细代码注释
4. 完整错误处理链条
5. 通过WebAIM无障碍认证

注意:此工具设计应符合NIST SP 800-131A加密标准,所有密码学操作必须在前端安全沙箱内完成。

使用说明

  • 点击"复制提示词"按钮复制完整内容
  • 粘贴到 ChatGPT、Claude 或其他 AI 对话工具中
  • 根据实际需求调整提示词中的具体参数
  • 可以多次迭代优化以获得更好的结果