用户可以使用char []而不是Servlet中的字符串来存储密码吗?

Jor*_*rtí 6 java security passwords servlets

我阅读了几篇关于安全性的文章和帖子(注意 在Web应用程序中将输入密码与存储的哈希密码进行比较,或者为什么char []首选字符串用于密码?

由于从请求中检索参数值使用返回String的request.getParameter("passwordFieldName"),是否有任何选项可以从请求中检索参数作为char []?

thy*_*eth -2

您只需使用Strings 方法toCharArray将其转换为char[].

String str = request.getParameter("passwordFieldName");
char[] pwArr = str.toCharArray();
Run Code Online (Sandbox Code Playgroud)

请参阅文档以获取更多信息。

  • str.toCharArray() 返回一个新分配的字符数组(请参阅javadoc),因此字符串密码 str 将出现在系统中的任何位置、任何线程转储/堆分析器中,直到垃圾回收,这就是我试图避免的 (4认同)