> 状态(2026-04-18 重新索引):**已完成,待归档** > tasks.md 全部 [x],仅做了 javac 联合编译验证,未做 mvn 打包回归。若生产 mjava-guangming 正常,应走 `/opsx:archive` 入 `openspec/changes/archive/`。 ## Why `RSACrypt` 加密工具类(44 行)目前仅存在于 `mjava-guangming/src/main/java/com/malk/guangming/util/RSACrypt.java`。若未来有其他业务模块也需要做 RSA 公钥加密(例如对接其他邮箱/SSO 供应商),会出现复制粘贴。应下沉到 `mjava` 基座的通用 util 包,让所有业务共享。 本次不做其他"预防性"抽取:SSO、回调分发等业务模块现有实现都已经是对基座 `DDClient` / `DingCallbackCrypto` 的薄包装,无实际重复,本次不动。 ## What Changes - 新增 `mjava/src/main/java/com/malk/util/crypto/RSACrypt.java`,内容与旧类逐字节一致(`encrypt(str, publicKey)` + `toUrlSafe(base64)`) - 旧 `mjava-guangming/.../util/RSACrypt.java` 改为 `@Deprecated` 委托壳,方法内部转调新类(保持二进制/源码兼容) ## Capabilities ### New Capabilities - `crypto-utils`: 基座通用加密工具包,首批只放 `RSACrypt` ### Modified Capabilities ## Impact - **代码**: - 新增:`mjava/src/main/java/com/malk/util/crypto/RSACrypt.java` - 修改:`mjava-guangming/src/main/java/com/malk/guangming/util/RSACrypt.java`(退化为委托) - **调用方**:`mjava-guangming` 内部既有 `RSACrypt` 调用方(如 `MailSsoController`、`DingTalkAuthService`)无需修改,import 路径保持不变 - **依赖**:不新增 - **版本**:`mjava` 保持 `0.0.3`(公有 API 只增不改,未达小版本级别;如后续还要加新能力再统一升版)