diff --git a/审计待办.md b/审计待办.md index 5c3c4fd..745384d 100644 --- a/审计待办.md +++ b/审计待办.md @@ -31,7 +31,7 @@ | S1 | ✅ **已修复** | `AES.java` | `getKey()` | 标记 `@Deprecated`,返回密钥副本而非原始值,JavaDoc 说明安全风险 | | S2 | ✅ **已修复** | `AES.java` | `getIv()` | 标记 `@Deprecated`,返回 IV 副本而非原始值,JavaDoc 说明已改用随机 IV | | S3 | ✅ **已修复** | `AES.java` | `encrypt()`/`decrypt()` | 非 ECB 模式每次加密自动生成随机 IV 并拼接在密文前;解密时自动提取 IV;相同明文产生不同密文 | -| S4 | **RSA 单例竞态条件** | `RSA.java` | 52-58 | volatile 字段在 `getInstance()` 中非原子操作,多线程下可能产生不一致状态 | +| S4 | ✅ **已修复** | `RSA.java` | `builder()` | 改为每次返回新实例,避免多线程下 volatile 配置字段竞态条件 | | S5 | ✅ **已修复** | `RSACoder.java` | `TRANSFORMATION` 常量 | `PKCS1Padding` → `OAEPWithSHA-256AndMGF1Padding`;两处 `getDataByPublicKey/PrivateKey` 均已更新 | | S6 | ✅ **已修复** | `AES.java` | `decrypt()`/`decryptGCM()` | 异常消息移除密文参数 `data`,防止敏感信息通过日志泄露 | | S7 | ✅ **已修复** | `RSA.java` | `encrypt/decrypt/sign/verify` | 4处异常消息已移除明文/密文参数,只传 ExpCode 枚举 |