发布于 · 指南
硬编码密钥:字符串加密为什么不是最终答案
保护商业逻辑和管理凭据是两个问题;不要把改名或编码当作秘密管理。
先判定这个值是不是真正秘密
Android 的安全风险文档提醒硬编码加密秘密的风险。公开客户端标识、服务端 API 密钥和用户设备生成的密钥应该分别管理。把所有字符串都加密会增加维护成本,却可能仍把最危险的服务端权限交给每一份客户端。
离线应用也要减少秘密暴露
我们的建议:发布前扫描包和资源,移除测试账号、生产日志及可直接调用后台的高权限凭据。设备专属秘密使用合适的平台存储,别把存储安全与算法保密混为一谈。如果通用密钥已随包发出,首先处理权限和轮换,而不是只给解密函数增加混淆。
行动清单
- 区分公开标识与高权限秘密。
- 检查资源与嵌套依赖。
- 泄露后先撤销或轮换,再处理代码。
原始资料
- Android: Hardcoded cryptographic secrets · 核对于 2026-10-12