码迷,mamicode.com
首页 > 编程语言 > 详细

Java: 在dos窗口输入密码,不要把密码直接显示出来,原来可以这么简单

时间:2015-06-17 14:55:56      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

用下面的方法可以实现在控制台上输入密码时,密码不显示在控制台上:Console cons=System.console(); 
System.out.print("请输入密码:"); 
char[] pwd=cons.readPassword(); 
String password = new String(pwd);
System.out.println(password);根据jdk api 文档上介绍:

安全注释: 如果应用程序需要读取密码或其他安全数据,则它应该使用 或 ,并在执行后手工将返回的字符数组归零,以最大限度地缩短内存中敏感数据的生存期。

java.util.Arrays.fill(pwd, ‘ ‘);说明一下java.io.Console 这个类是 JDK 6 中新增的类库,用于操作系统的控制台,系统的控制台只能在操作系统原生的控制台中使用,不能在 IDE 的控制台中使用,因为 IDE 中的控制台是经过重定向的。经过测试,如果在eclipse上使用这个readPassword();直接抛出NullPointerException

 

2011-12-27

Java: 在dos窗口输入密码,不要把密码直接显示出来,原来可以这么简单

标签:

原文地址:http://www.cnblogs.com/personnel/p/4583141.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!