# react-safe **Repository Path**: ocean_vane/react-safe ## Basic Information - **Project Name**: react-safe - **Description**: react-safe - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-26 - **Last Updated**: 2025-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # React 安全加密应用 ## 项目概述 这是一个基于 React 和 Vite 构建的前端加密应用,旨在为前端应用提供数据安全保障机制。项目实现了一套完整的加密解决方案,包括对称加密(AES)和非对称加密(RSA),以保护敏感数据在客户端处理和传输过程中的安全性。 ## 核心功能与特性 ### 1. 多层级加密架构 - **全局加密服务**:通过 [`encryptionService.js`](src/utils/encryptionService.js) 提供统一的加密解密接口 - **API 请求自动加密**:通过 [`apiClient.js`](src/utils/apiClient.js) 拦截器自动加密 API 请求数据 - **模块级加密定制**:支持在不同模块(如 [`patientManagement`](src/modules/patientManagement/patientService.js))中覆盖加密配置 ### 2. 加密技术实现 - **AES 对称加密**:用于大量数据的快速加密/解密 - **RSA 非对称加密**:用于高安全要求的场景,如患者 ID、身份验证等 - **密钥管理**:通过环境变量安全存储密钥,避免硬编码 ### 3. 开发与测试工具 - **加密测试界面**:提供直观的加密/解密测试界面 - **API 调用模拟**:支持模拟加密 API 请求过程 - **灵活配置**:支持切换加密算法、密钥等参数 ## 技术栈 - **前端框架**:React 18.3 - **构建工具**:Vite 5.4 - **加密库**:crypto-js (AES), jsencrypt (RSA) - **HTTP 客户端**:Axios - **代码规范**:ESLint ## 项目结构 ``` src/ ├── App.jsx # 主应用入口和测试界面 ├── utils/ │ ├── encryptionService.js # 加密核心服务 │ ├── apiClient.js # API请求拦截器 │ └── publicKey.js # RSA公钥管理 ├── modules/ │ └── patientManagement/ # 患者管理模块示例 │ └── patientService.js # 与患者数据相关的API服务 ``` ## 当前实现情况 项目已成功实现以下核心功能: 1. **完整的加密服务框架** - AES 对称加密/解密功能 - RSA 非对称加密功能 - 加密配置管理 2. **API 集成** - 请求自动加密 - 响应自动解密 - CSRF 令牌集成 3. **模块化设计** - 支持模块级加密定制 - 不同业务场景的加密策略隔离 4. **用户界面** - 加密测试功能 - 加密方法切换 - API 调用模拟 ## 待完善的方面 以下是项目需要进一步完善的方面: 1. **安全强化** - 实现密钥轮换机制 - 增加防篡改验证(如 MAC、签名) - XSS 防护增强 2. **功能扩展** - 支持更多加密算法(如 ECC) - 实现端到端加密机制 - 增加数字签名功能 3. **性能优化** - 大数据加密性能优化 - 缓存机制实现 - 加密过程的异步处理 4. **测试与文档** - 单元测试覆盖率提高 - 安全审计实现 - 更详细的 API 文档 5. **实际后端集成** - 与真实后端 API 集成测试 - 安全漏洞扫描与修复 ## 应用场景与未来方向 ### 应用场景 1. **医疗健康领域** - 患者数据加密保护 - 符合 HIPAA 等医疗数据保护法规 - 临床数据安全传输 2. **金融科技** - 支付信息加密 - 用户金融数据保护 - 交易数据安全传输 3. **企业信息系统** - 内部敏感文档保护 - 用户权限与认证安全 - 跨部门数据安全共享 4. **个人隐私保护** - 社交媒体信息加密 - 个人隐私数据保护 - 符合 GDPR 等隐私法规 ### 未来发展方向 1. **区块链集成** - 结合区块链技术提供不可篡改的数据保障 - 实现分布式身份验证 2. **零知识证明** - 实现数据验证而不暴露原始数据 - 增强用户隐私保护 3. **量子安全** - 研究后量子加密算法 - 为未来量子计算威胁做准备 4. **多端统一方案** - 扩展至移动应用、小程序等多端 - 构建全平台统一的加密标准 5. **AI 安全** - 结合 AI 技术识别安全威胁 - 自适应加密策略 ## 快速开始 ### 安装依赖 ```bash npm install ``` ### 开发模式运行 ```bash npm run dev ``` ### 构建生产版本 ```bash npm run build ``` ### 预览生产版本 ```bash npm run preview ``` ## 安全注意事项 - 生产环境中请更换默认密钥 - 私钥应妥善保管在服务器端,不应前端存储 - 定期更新加密密钥 - 配合后端加密机制使用,实现端到端加密 ## RSA 加密解密机制说明 本项目中的 RSA 加密仅实现了前端加密功能,而未提供解密功能,这是基于以下安全考量: - **非对称加密原理**:RSA 使用公钥加密,私钥解密的机制,确保只有持有私钥的接收方能解密数据 - **私钥保护**:RSA 私钥应始终保存在服务器端,避免在前端暴露,防止密钥泄露 - **前后端协作**:前端使用公钥加密敏感数据,后端使用私钥解密,形成完整的安全通信渠道 - **合理分工**:这种设计符合安全最佳实践,将解密能力限制在受保护的服务器环境中 在实际应用中,需要后端实现对应的 RSA 解密功能,才能完成完整的加密通信流程。