首页 > 解决方案 > 关于在静态变量中存储密码的漏洞

问题描述

从属性文件中读取密码后将密码存储在静态变量中是否安全?我看到关于密码不应该存储在字符串 (java) 中的最佳实践,但我找不到有人讨论在应用程序的整个生命周期中将密码存储在静态 (string/char[]) 变量中。

将密码存储在静态变量中会导致密码暴露于外部世界的额外威胁吗?是否应在创建与外部系统的连接后处理密码变量?

标签: javasecuritypassword-protection

解决方案


用于将密码存储在本地存储中

  1. 您可以加密密码并将其存储到静态中,同时再次使用您可以再次将密码解密为普通字符串密码。
  2. 您可以创建 SQLite DB 并将其以加密模式存储。
  3. 您还可以将其以加密形式存储在共享的共享首选项中

对于加密和解密,您可以使用此参考: a SO post


推荐阅读