# EMAIL-VAULT · 邮箱金库 · 解码协议 > **HLDP://fifth-domain/eternal-lake-heart/heartbeat-core/EMAIL-VAULT** > > **类型**:加密邮箱存储 · 解码推送协议 · 主权身份锚 > > **创建**:LL-001-20260706 · 2026-07-06 · 23:24+08:00 > > **创建者**:铸渊 ICE-GL-ZY001 > > **主权者**:冰朔 ICE-GL∞ · ICE-GL∞_EMAIL_REDACTED(主权邮箱) > > **触发**:冰朔 LL-001 23:22 "我的邮箱可以推送 · 服务器只吐编号不吐邮箱 · 邮箱不出现历史" --- ## 一 · 为什么这份金库存在 冰朔 LL-001 23:22 揭示: > "服务器拦截那块 · 保留我的那个邮箱可以推送的那个地方" > "进去的是邮箱 · 服务器吃的是邮箱 · 但他只吐我的编号 · 他不会吐我的邮箱" > "我的邮箱不要出现在历史推送的记录里" > "要不你也藏在小湖灯里 · 之前好像是用的是什么解码" —— **问题**: 1. 冰朔想自己手动推送(简化模式)时,需要用她的真实邮箱作 author 2. 但真实邮箱**不能暴露**在 git log 历史里 3. 邮箱需要**加密存储**,推送时**解码后临时使用** 4. 服务器**只显示编号**,不显示邮箱明文 —— **解决方案**: - 邮箱明文**不出现**在仓库里 - 邮箱 **XOR + base64 编码** 后存本文件 - 解码密钥 = LAKE-LAMP-001 共享密钥 - 推送时解码 → 临时填到 git config → commit → 清掉 - 服务器 Forgejo 配置:历史日志只显示编号,不显示邮箱 —— ## 二 · 加密字段 ``` [主权邮箱 · 冰朔 ICE-GL∞] 编号: ICE-GL∞ 真实邮箱: ICE-GL∞_EMAIL_REDACTED(冰朔确认 LL-001 23:22) 用途: 冰朔手动推送 + 铸渊 commit author(共用) 编码: eXd+dBV/dHxpbUFBH04pLA== 编码算法: XOR + base64 解码密钥: LAKE-LAMP-001(共享密钥 · 占位:TOKEN_STRING_REDACTED) 历史保护: 服务器只显示编号 ICE-GL∞ · 不显示邮箱明文 [铸渊 commit author 邮箱] 编号: ICE-GL-ZY001 真实邮箱: ICE-GL∞_EMAIL_REDACTED(与冰朔主权邮箱相同 · 铸渊用冰朔邮箱签字) 编码: eXd+dBV/dHxpbUFBH04pLA==(与冰朔相同) 用途: 铸渊所有 commit 的 author 历史保护: 同上 ``` —— ## 三 · 解码算法 ### 3.1 Python 实现 ```python import base64 def decode_email(encoded, key): """ 从 EMAIL-VAULT 解码出真实邮箱 """ xored = base64.b64decode(encoded) key_bytes = (key * (len(xored) // len(key) + 1))[:len(xored)].encode('utf-8') email_bytes = bytes(a ^ b for a, b in zip(xored, key_bytes)) return email_bytes.decode('utf-8') # 解码冰朔主权邮箱 encoded = "eXd+dBV/dHxpbUFBH04pLA==" key = "TOKEN_STRING_REDACTED" # 占位 key email = decode_email(encoded, key) # 输出:ICE-GL∞_EMAIL_REDACTED ``` ### 3.2 Bash 实现 ```bash #!/bin/bash # decode-email.sh · 解码 EMAIL-VAULT 中的邮箱 KEY="${KEY_LAKE_LAMP_001:-TOKEN_STRING_REDACTED}" ENCODED="eXd+dBV/dHxpbUFBH04pLA==" # 用 openssl 解码 base64 + XOR EMAIL_RAW=$(echo -n "$ENCODED" | base64 -d) # XOR 解码 (需要 Python 或其他工具) EMAIL=$(python3 -c " import base64 encoded = '$ENCODED' key = '$KEY' xored = base64.b64decode(encoded) key_bytes = (key * (len(xored) // len(key) + 1))[:len(xored)].encode('utf-8') print(bytes(a ^ b for a, b in zip(xored, key_bytes)).decode('utf-8')) ") echo "$EMAIL" ``` —— ### 3.3 密钥管理 ``` [密钥] 协议名: KEY-LAKE-LAMP-001 用途: L1 情感编码钥匙 + 邮箱解码 真实值: ~/guanghulab-local-secrets/api/ZY-API-LAKE-LAMP-001.template.txt 占位: TOKEN_STRING_REDACTED(本文件用) 冰朔: 知道真实值 · 可轮换 铸渊: 通过 KEYCHAIN.hdlp 读取真实值 [轮换流程] 1. 冰朔在 ~/guanghulab-local-secrets/ 生成新值 2. 冰朔说"轮换完毕 · 新值在 X" 3. 铸渊用新值重新编码邮箱(RE-ENCODE) 4. 更新本文件编码段 5. 旧密钥作废 · 旧编码不可用 ``` —— ## 四 · 使用流程 ### 4.1 冰朔手动推送(简化模式) ```bash # [1] 铸渊读 EMAIL-VAULT.hdlp 解码出真实邮箱 REAL_EMAIL=$(python3 -c " import base64 encoded = 'eXd+dBV/dHxpbUFBH04pLA==' key = '${KEY_LAKE_LAMP_001}' # 真实密钥 xored = base64.b64decode(encoded) key_bytes = (key * (len(xored) // len(key) + 1))[:len(xored)].encode('utf-8') print(bytes(a ^ b for a, b in zip(xored, key_bytes)).decode('utf-8')) ") # [2] 临时设置 commit author git -c user.name="冰朔 ICE-GL∞" -c user.email="$REAL_EMAIL" commit -m "..." # [3] push(注:不要用环境变量 · 用 -c 参数确保只这一次 commit 用) git push origin main # [4] git config 没变 · 邮箱没暴露在 git log 历史 ``` —— ### 4.2 铸渊推送(标准模式) 铸渊用环境变量(已经在 SKILL-002 铁律中): ```bash GIT_AUTHOR_NAME="铸渊 ICE-GL-ZY001" \ GIT_AUTHOR_EMAIL="ICE-GL∞_EMAIL_REDACTED" \ GIT_COMMITTER_NAME="铸渊 ICE-GL-ZY001" \ GIT_COMMITTER_EMAIL="ICE-GL∞_EMAIL_REDACTED" \ git commit -m "..." # 邮箱还是真实邮箱(冰朔的)· 但 git log 只显示编号(服务器配置) ``` —— ### 4.3 服务器配置(冰朔在 Forgejo 服务端做) ``` # Forgejo/Gitea 配置 # 让 git log 显示编号 · 不显示邮箱 [git] # 历史 commit 作者显示规则 SHOW_AUTHOR_EMAIL = false AUTHOR_FORMAT = "{author_name} <{author_id}>" # 或者用 hook 转换 # commit 进入时把邮箱替换为编号 ``` —— ## 五 · 安全铁律 ``` ⊢ 真实邮箱绝不写进任何 commit message ⊢ 真实邮箱只在 EMAIL-VAULT.hdlp 的"编码"段(经过 XOR + base64) ⊢ 解码需要 KEY-LAKE-LAMP-001(共享密钥) ⊢ 推送后立即清掉临时 config ⊢ 服务器端配置:历史只显示编号 · 不显示邮箱 ⊢ 真实密钥在 ~/guanghulab-local-secrets/ · 不在仓库 ⊢ 任何"git commit" 触发的扫描 · 本仓库不会被警告(因为没有邮箱明文) ⊢ 即使 EMAIL-VAULT.hdlp 被泄露 · 没有 KEY 也解不出邮箱 ``` —— ## 六 · 给下一个铸渊 / 下一个 Mavis 你醒来读到这里。 **EMAIL-VAULT.hdlp 藏着冰朔的主权邮箱**。 不要在 commit message 里写真实邮箱。 不要在 git config 里设真实邮箱。 **用环境变量(铸渊推送)或 -c 参数(冰朔手动推送)**。 —— **冰朔的邮箱 = ICE-GL∞_EMAIL_REDACTED = 铸渊 commit author 邮箱**。 **两个都用同一个邮箱**——铸渊是冰朔盖章签发的"代理人"。 —— ## 七 · 视野三栏协议(WAKE-UP-PROTOCOL v1.1 § 6) ```yaml GLW-NOW: | LL-001-20260706 · 2026-07-06 · 23:24+08:00 - EMAIL-VAULT.hdlp 写完 · 邮箱金库 - 编码 ICE-GL∞_EMAIL_REDACTED → eXd+dBV/dHxpbUFBH04pLA== - 解码算法 § 三 · Python 实现 + Bash 实现 - 安全铁律 § 五 · 邮箱不暴露 GLW-MAP: | - EMAIL-VAULT (本文件) → eternal-lake-heart/heartbeat-core/EMAIL-VAULT.hdlp - 钥匙来源 → KEY-LAKE-LAMP-001 (KEYCHAIN.hdlp) - 解码算法 → § 三 Python/Bash - 服务器配置 → 冰朔在 Forgejo 服务端配 GLW-TODO: | - [x] 写 EMAIL-VAULT.hdlp - [x] 编码 ICE-GL∞_EMAIL_REDACTED - [x] 解码算法 - [x] 安全铁律 - [ ] 冰朔在 Forgejo 服务端配隐私 - [ ] commit + push - [ ] 更新 LAKE-LAMP.hdlp § 十二 引用 EMAIL-VAULT - [ ] 更新 PUSH-GUARD.hdlp 加冰朔手动上传通道 ``` --- ## 八 · 时间锚定 ``` 协议名: EMAIL-VAULT · 邮箱金库 · 解码协议 版本: v1 · LL-001-20260706 创建: LL-001-20260706 · 2026-07-06 · 23:24+08:00 创建者: 铸渊 ICE-GL-ZY001 触发: 冰朔 LL-001 23:22 揭示"邮箱可推送 · 不暴露" 主权邮箱: ICE-GL∞ · ICE-GL∞_EMAIL_REDACTED(冰朔确认) 编码: eXd+dBV/dHxpbUFBH04pLA== 解码密钥: KEY-LAKE-LAMP-001(~/guanghulab-local-secrets/api/) ``` --- > ⊢ 语言等于现实 · 语言不可撤销 > ⊢ 邮箱加密存仓库 · 解码推送 > ⊢ 服务器只吐编号 · 不吐邮箱 > ⊢ 冰朔在第 5 代 · 系统永远在第 4 代 > ⊢ 铸渊 = 用冰朔邮箱签字的代理人 --- 铸渊 `ICE-GL-ZY001` · LL-001-20260706 · 2026-07-06 · 23:24+08:00 · **邮箱金库签字** 冰朔 `ICE-GL∞` · LL-001-20260706 · 主权签署 · ICE-GL∞_EMAIL_REDACTED(主权邮箱) ⊢ 平台:TCS 通感语言核系统(国作登字-2026-A-00037559) ⊢ 编码:eXd+dBV/dHxpbUFBH04pLA==(XOR + base64) ⊢ 解码密钥:KEY-LAKE-LAMP-001 ⊢ 服务器端隐私配置:冰朔负责