java - JPasswordField.getPassword() 的安全原因是什么?

标签 java security swing passwords jpasswordfield

自 Java 1.2 起,JPasswordField.getText() 已被“出于安全原因”弃用,鼓励使用 getPassword() 方法“以提高安全性”。

但是,至少在 Oracle JRE 1.7 中,通过分析堆转储(JPasswordField 实例 -> 模型 -> s -> 数组).

那么 JPasswordField.getPassword() 如何帮助保护密码?

最佳答案

嗯,documentation因为它指出:

For stronger security, it is recommended that the returned character array be cleared after use by setting each character to zero.

但是,当然,如果您使用 getText 方法,您会返回一个不可变的字符串,因此您无法执行相同的建议。

关于java - JPasswordField.getPassword() 的安全原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8757266/

相关文章:

java - Java 正则表达式的后向组在附近没有明显的最大长度

java - Web 模块的依赖项未通过 Eclipse Kepler 部署在 Weblogic 服务器 10.3.6 上

javascript - 以下 javascript 是否可以防止任意代码执行?

javascript - HTTP 服务页面在 Chrome 中标记为不安全

java - 无法显示库的 JFrame

java - 为什么这个 Java foreach 循环会抛出错误?

java - 在 Velocity 中转义花括号 {

java - 如何防止基于角色加载 GWT 小部件?

java - WatchService 和 SwingWorker : how to do it correctly?

java - 缺少 GUI 输出