java - 关于在静态变量中存储密码的漏洞
问题描述
从属性文件中读取密码后将密码存储在静态变量中是否安全?我看到关于密码不应该存储在字符串 (java) 中的最佳实践,但我找不到有人讨论在应用程序的整个生命周期中将密码存储在静态 (string/char[]) 变量中。
将密码存储在静态变量中会导致密码暴露于外部世界的额外威胁吗?是否应在创建与外部系统的连接后处理密码变量?
解决方案
用于将密码存储在本地存储中
- 您可以加密密码并将其存储到静态中,同时再次使用您可以再次将密码解密为普通字符串密码。
- 您可以创建 SQLite DB 并将其以加密模式存储。
- 您还可以将其以加密形式存储在共享的共享首选项中
对于加密和解密,您可以使用此参考: a SO post
推荐阅读
- haskell - haskell 和验证应用程序
- android - 是否可以使用 Mediapipe 的 face_landmark.tflite 在 Android 中独立生成面部网格?
- ssl - 为什么有些 HTTPS 站点直接拒绝连接?
- c# - 按钮不应该交换位置
- optimization - 高效排序逆时针角度
- javascript - Ant 设计,配置提供程序语言环境卸载组件
- sql - 有没有办法在查询中动态选择表?
- javascript - 在地图函数中创建对象?
- python - SQL Select Query 耗时过长,无法加载
- javascript - 图标单击以在 JavaScript 中的画布上绘制矩形