File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ # PPage 环境变量配置示例
2+ # 复制此文件为 .env.local 并填写实际值
3+
4+ # ====================================
5+ # 加密功能配置
6+ # ====================================
7+
8+ # 加密密码(用于自动化加密流程)
9+ # 如果设置了此变量,npm run dev 和 npm run build 会自动加密
10+ # 如果未设置,将在首次运行时提示输入密码
11+ # PPAGE_ENCRYPT_PASSWORD=your_encryption_password_here
12+
13+ # ====================================
14+ # 部署配置
15+ # ====================================
16+
17+ # 部署基础路径(如果需要覆盖配置文件中的设置)
18+ # VITE_BASE_PATH=/
19+
20+ # ====================================
21+ # 使用说明
22+ # ====================================
23+
24+ # 1. 复制此文件:
25+ # cp .env.example .env.local
26+
27+ # 2. 设置加密密码:
28+ # 取消注释 PPAGE_ENCRYPT_PASSWORD 并设置密码
29+
30+ # 3. .env.local 文件会被 git 忽略,不会提交到仓库
31+
32+ # ====================================
33+ # 安全提示
34+ # ====================================
35+
36+ # ⚠️ 请勿将 .env.local 提交到 git
37+ # ⚠️ 请勿在 .env.example 中填写真实密码
38+ # ⚠️ 使用强密码(至少12位,包含大小写字母、数字和特殊字符)
Original file line number Diff line number Diff line change @@ -26,9 +26,27 @@ encryption:
2626
2727**现在这些文件还是明文,你可以打开查看!**
2828
29- # ## 第3步:加密内容 🔒
29+ # ## 第3步:设置加密密码 🔑
3030
31- 运行加密命令:
31+ 有两种方式设置密码:
32+
33+ # ### 方式 A:使用 .env 文件(推荐,自动化)
34+
35+ ` ` ` bash
36+ # 1. 复制环境变量配置文件
37+ cp .env.example .env.local
38+
39+ # 2. 编辑 .env.local,设置密码
40+ echo 'PPAGE_ENCRYPT_PASSWORD=demo2025' > .env.local
41+ ` ` `
42+
43+ ✨ **优势**:
44+
45+ - 自动加密,无需每次输入密码
46+ - ` npm run dev` 和 `npm run build` 会自动执行加密
47+ - ` .env.local` 不会提交到 git,安全
48+
49+ # ### 方式 B:手动运行加密脚本
3250
3351` ` ` bash
3452npm run encrypt
@@ -75,6 +93,23 @@ npm run encrypt
7593npm run dev
7694```
7795
96+ ✨ ** 自动化魔法** :
97+
98+ 如果你设置了 ` .env.local ` ,系统会:
99+
100+ 1 . 自动检查文件是否已加密
101+ 2 . 自动加密未加密的文件
102+ 3 . 启动开发服务器
103+
104+ 如果没有设置 ` .env.local ` ,会提示你输入密码,然后继续。
105+
106+ 💡 ** 提示** :如果所有文件已加密,会显示:
107+
108+ ```
109+ ✨ 所有文件已加密,无需重复加密
110+ 总计: 4 个文件
111+ ```
112+
78113### 第5步:体验加密内容 🎯
79114
801151 . 打开浏览器访问:http://localhost:5173
Original file line number Diff line number Diff line change @@ -5,93 +5,12 @@ description: '团队内部会议记录'
55tags :
66 - ' 会议'
77 - ' 内部'
8+ encrypted : true
9+ encryptedAt : ' 2026-01-08T11:43:11.696Z'
810---
911
10- # 内部会议纪要
12+ <!-- ENCRYPTED_CONTENT -->
1113
12- ## 会议信息
14+ 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
1315
14- - ** 日期** : 2025年1月8日
15- - ** 时间** : 14:00 - 16:00
16- - ** 参会人员** : [ 保密]
17- - ** 会议类型** : 项目评审
18-
19- ## 议程
20-
21- ### 1. 项目进展汇报
22-
23- ✅ ** 已完成** :
24-
25- - 加密功能实现
26- - 前端界面优化
27- - 文档编写完成
28-
29- 🔄 ** 进行中** :
30-
31- - 性能优化
32- - 测试用例编写
33-
34- 📋 ** 待开始** :
35-
36- - 用户反馈收集
37- - 功能迭代规划
38-
39- ### 2. 技术讨论
40-
41- #### 加密方案选择
42-
43- 讨论了多种加密方案:
44-
45- | 方案 | 优点 | 缺点 | 决策 |
46- | ----------- | ------------------ | -------------- | --------- |
47- | AES-256-GCM | 安全性高,标准算法 | 计算开销 | ✅ 采用 |
48- | ChaCha20 | 性能好 | 浏览器支持有限 | ❌ 不采用 |
49- | RSA | 非对称加密 | 不适合大数据 | ❌ 不采用 |
50-
51- #### 用户体验优化
52-
53- 讨论了以下改进点:
54-
55- 1 . ** 密码输入界面**
56- - 设计更美观的对话框
57- - 添加密码强度提示
58- - 支持记住密码功能
59-
60- 2 . ** 性能优化**
61- - 使用 Web Worker 解密
62- - 缓存解密结果
63- - 懒加载加密内容
64-
65- 3 . ** 错误处理**
66- - 友好的错误提示
67- - 重试机制
68- - 日志记录
69-
70- ### 3. 决策事项
71-
72- ** 决策1** : 采用 AES-256-GCM 加密算法
73- ** 理由** : 安全性高,浏览器支持良好
74-
75- ** 决策2** : 密码使用会话级缓存
76- ** 理由** : 平衡安全性和用户体验
77-
78- ** 决策3** : 加密内容不参与搜索和图谱
79- ** 理由** : 保护隐私,避免信息泄露
80-
81- ## 行动项
82-
83- - [ ] @张三: 完成性能测试(截止:1月10日)
84- - [ ] @李四: 编写用户文档(截止:1月12日)
85- - [ ] @王五: 收集用户反馈(截止:1月15日)
86-
87- ## 下次会议
88-
89- - ** 时间** : 2025年1月15日 14:00
90- - ** 议题** : 功能迭代规划
91-
92- ---
93-
94- ** 保密级别** : 内部使用
95- ** 分发范围** : 项目组成员
96-
97- ** 备注** : 本会议纪要包含敏感信息,请勿外传。
16+ <!-- /ENCRYPTED_CONTENT -->
Original file line number Diff line number Diff line change @@ -5,38 +5,12 @@ description: '我的私密日记'
55tags :
66 - ' 日记'
77 - ' 个人'
8+ encrypted : true
9+ encryptedAt : ' 2026-01-08T11:43:11.709Z'
810---
911
10- # 个人日记
12+ <!-- ENCRYPTED_CONTENT -->
1113
12- ## 2025-01-08
14+ 4hKR3faRFRfdMsKFuW4CvpTe3EwyC/IQkqi5wWeZcvD0KV6izrUOLpXOsfjR9HbuQsZridDJSjmsVdeGGHb/dbANsyFNhqSKWj6XUWIH/M+vL0hpd9BQ4aVMay9FcbeMi0VCR+C8cTwo3uVQBpYpPJoxOKac4842E1MpaQRlutfVZf1CeAoufJOgbzuptDo5GsyzTKenHbMkJm5E1YtNLoqDsk2y+mN75ZHiXLnSprtecfHjciCeTrOBvkp6uSDuvSGEmm2JO/kN5fIACxb1flPobKvtKvjsxsNrcabILIBG+WiguKSlT4nYK4YHSC4r7ojpQZ8Ygb2tLz2c7lLkgf4Itmfa0MmurhqvmMT4EO159Cs+UwYpmhire2v9i3onBhLIMpQkaTFJYO/ktEfOvZbNvLpVjY90bcYPUuK/LZxm+nUnr0LpRDmWAMA+hRUe7Mk3fg532e/jQvZc/VPKYS8cONtghDH27xbmGCaLu4L56Znhkk/bi0I/viMmRA441Qyok3kygo8TVWvO4jXIEtIQFIdTZn/RzhZl4Ex30jbGaAVULkMtx4Ga7P7EwEJlaoQStOlLuoEo1IN0YRKmFTjs+A1B8ivxDjByoWQNx2UocscYQeCDBrns1b/Cjep86e/TauVg/sZORd0NasK4dxEmwHHgH96BMP3MppyvmLHDsbfG6MmlXR9mNyUwEATwo0I157CNQok5DoC0yDdI7vY5oKuU891pmLd1elC5Mlz1hLU63uQwJWmypygO/tEn2n9KJhoMOpDq/1p2Dsrdtm+SThw7oaE2l22bntgLnJgsUcrLg58FQQ9A0MFj/CQbaHbb/4h/plui7JyO5LYeW2PlKdzSdJN6xraxiASYdV5VaSgyuMa/w/0bBueUx79A76qXYPPUbHqe0OWolUEfBZrtqoEPX0ukdEAuslfLTmwf1Mi2I7Cz4Uy2t+P4S2Ias3tgodZqU0HKSPyGPxM9yzqeSCLIVX/ly6ZoK6hynYY3bMk5AnylM5L8snxdZ33fJXs9F3xmY0jELulrz9NqXD5hiiWWXaMQ6+n/bTSIetJoJC27xb5YGMVTNheFA7JF46tFpVwHux4g1URA4raYvQhb7nT/s740r1yB9dreVrwy6FquaTZ+9nqToGoqiufzm+JqmDtu4L/izrseVDNwbgPcUoSB
1315
14- 今天是个特别的日子,我终于完成了一个重要的项目。
15-
16- ### 早上
17-
18- ☕ 早上8点起床,喝了一杯咖啡,开始规划今天的工作。
19-
20- ### 下午
21-
22- 💻 下午专注于编码,实现了加密功能。这个功能非常重要,因为:
23-
24- 1 . 可以保护私密内容
25- 2 . 即使代码公开也很安全
26- 3 . 用户体验良好
27-
28- ### 晚上
29-
30- 🌙 晚上回顾了一天的工作,感觉很有成就感。
31-
32- ## 私密想法
33-
34- 这里记录一些只想自己知道的想法:
35-
36- - 对未来的规划
37- - 个人的梦想
38- - 需要保密的想法
39-
40- ---
41-
42- ** 提示** :这是加密内容示例,只有输入正确密码才能查看。
16+ <!-- /ENCRYPTED_CONTENT -->
Original file line number Diff line number Diff line change 77 - ' 研究'
88 - ' 保密'
99category : ' 技术文档'
10+ encrypted : true
11+ encryptedAt : ' 2026-01-08T11:43:11.717Z'
1012---
1113
12- # 技术笔记(保密)
14+ <!-- ENCRYPTED_CONTENT -->
1315
14- ## 项目架构设计
16+ 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
1517
16- ### 核心思路
17-
18- 这个项目采用了一些独特的设计思路:
19-
20- ``` mermaid
21- graph TD
22- A[用户访问] --> B{内容类型}
23- B -->|公开内容| C[直接显示]
24- B -->|加密内容| D[密码验证]
25- D -->|密码正确| E[解密并显示]
26- D -->|密码错误| F[提示重试]
27- ```
28-
29- ### 关键技术点
30-
31- #### 1. 加密算法
32-
33- - ** 算法** : AES-256-GCM
34- - ** 密钥派生** : PBKDF2 (100,000次迭代)
35- - ** 随机因子** : 每次加密使用新的盐值和IV
36-
37- ``` javascript
38- // 示例代码(仅供参考)
39- const encrypted = encryptContent (content, password)
40- const decrypted = decryptContent (encrypted, password)
41- ```
42-
43- #### 2. 前端解密
44-
45- 使用 Web Crypto API 实现浏览器端解密:
46-
47- ``` javascript
48- // 浏览器环境解密
49- const key = await deriveKey (password, salt)
50- const decrypted = await crypto .subtle .decrypt (
51- { name: ' AES-GCM' , iv: iv },
52- key,
53- encryptedData
54- )
55- ```
56-
57- #### 3. 安全考虑
58-
59- - ✅ 密码不存储在代码中
60- - ✅ 加密文件可以安全提交到Git
61- - ✅ 即使仓库公开,内容也无法被解密
62- - ✅ 密码只在会话期间缓存
63-
64- ## 实现难点
65-
66- ### 难点1: 浏览器兼容性
67-
68- Web Crypto API 需要 HTTPS 环境或 localhost。
69-
70- ** 解决方案** :
71-
72- - 开发环境使用 localhost
73- - 生产环境强制 HTTPS
74-
75- ### 难点2: 性能优化
76-
77- 解密操作需要一定的计算时间。
78-
79- ** 优化措施** :
80-
81- - 使用 SessionStorage 缓存密码
82- - 异步解密,显示加载状态
83- - 优化 PBKDF2 迭代次数
84-
85- ### 难点3: 用户体验
86-
87- 如何让密码输入体验更好?
88-
89- ** 改进点** :
90-
91- - 美观的模态对话框
92- - 密码显示/隐藏切换
93- - 清晰的错误提示
94- - 记住密码(会话级别)
95-
96- ## 未来改进方向
97-
98- 1 . ** 多密码支持** : 不同文件夹使用不同密码
99- 2 . ** 密码提示** : 提供密码提示功能
100- 3 . ** 密码强度检查** : 建议用户使用强密码
101- 4 . ** 批量操作** : 支持批量加密/解密
102-
103- ## 内部资料
104-
105- 以下是一些敏感的技术资料和配置信息...
106-
107- (此处省略具体内容)
108-
109- ---
110-
111- ** 注意** : 本文档包含敏感技术信息,请勿分享给未授权人员。
18+ <!-- /ENCRYPTED_CONTENT -->
You can’t perform that action at this time.
0 commit comments