对于密码值,字符串易受攻击。我注意到VaadinPasswordField将password作为String进行操作。以下是PasswordField的默认构造函数,publicPasswordField(){setValue("");}我的问题:使用安全吗PasswordField在Vaadin?什么内部API可以确保密码的安全? 最佳答案 TL;DR瓦丁PasswordField是一个简单的TextField.输入仅在客户端隐藏,在服务器端以明文形式传输。尽管您可以使用getConvertedValue()和setConvert
这个问题在这里已经有了答案:SafewaytogetpasswordfromPasswordFieldinJavaFX(2个答案)关闭5年前。我目前正在学习JavaFX,我对JavaFX中的PasswordField没有返回密码的字符数组甚至字节数组的方法感到有点困惑。相反,我必须使用返回字符串的getText()。如您所见hereswing决定将getText()方法标记为depricated,并告诉程序员改用getPassword(),它返回一个char数组。如果我理解正确,那么char数组要安全得多,因为您可以通过将所有值设置为0将它们从RAM中完全删除。那么为什么Oracle决
有什么方法可以安全地从JavaFX8中的PasswordField中检索密码,使其不会保存在内存中?标准选项:Stringpass=passwordField.getText();对我来说还不够。我期待这样的事情:char[]pass=passwordField.getPassword(); 最佳答案 与许多事情一样,您可以使用反射来实现这一点。而且由于您使用的是反射,它不会很漂亮(看看所有这些异常(exception)情况),但我认为这是目前唯一的方法。publicclassSafePasswordFieldextendsPass
有什么方法可以安全地从JavaFX8中的PasswordField中检索密码,使其不会保存在内存中?标准选项:Stringpass=passwordField.getText();对我来说还不够。我期待这样的事情:char[]pass=passwordField.getPassword(); 最佳答案 与许多事情一样,您可以使用反射来实现这一点。而且由于您使用的是反射,它不会很漂亮(看看所有这些异常(exception)情况),但我认为这是目前唯一的方法。publicclassSafePasswordFieldextendsPass