构建一个基于HTML5、CSS3和JavaScript的客户端文件加密工具,使用Web Crypto API实现以下功能:
- 界面与交互
- 创建拖放式文件选择界面,支持多文件批量上传
- 实时显示加密进度条和状态指示器
- 响应式设计适配不同设备屏幕
- 核心加密功能
- 采用AES-256-GCM算法实现军用级加密
- 通过PBKDF2从用户密码安全派生加密密钥
- 实现密码强度强制策略(基于熵值计算): • 最小长度12字符 • 要求大小写字母+数字+特殊符号 • 实时强度可视化反馈
- 文件处理
- 支持批量加密多个文件
- 生成自定义扩展名的加密文件(如.enc)
- 实现大文件分块流式加密处理(>1GB)
- 内存安全机制: • 自动清除内存中的敏感数据 • 使用Web Workers隔离加密过程
- 解密功能
- 独立解密界面与密码验证流程
- 加密元数据完整性校验
- 解密失败时的安全错误处理
- 密钥管理
- 加密密钥导出/导入功能
- 显式安全警告提示: • 密钥存储风险说明 • 密码丢失不可恢复警告
- 日志系统
- 记录操作日志(不含敏感信息): • 文件大小/类型 • 加密时间戳 • 算法参数
- 日志导出为安全格式
- 技术实现要求
- 纯前端实现(零服务器依赖)
- 使用Web Crypto API原生加密
- 遵循OWASP客户端安全准则
- 兼容现代浏览器(Chrome/Firefox/Edge)
- 安全规范
- 所有加密操作在内存隔离环境执行
- 自动终止空闲会话
- 禁用浏览器缓存敏感数据
- 实现内容安全策略(CSP)防护 输出格式要求:
- 模块化JavaScript代码结构
- 符合ES6+标准
- 详细代码注释
- 完整错误处理链条
- 通过WebAIM无障碍认证 注意:此工具设计应符合NIST SP 800-131A加密标准,所有密码学操作必须在前端安全沙箱内完成。 复制提示词