利用Console字符终端输入密码,并将之改为密文密码

来源:互联网 发布:淘宝网络营销策略 编辑:程序博客网 时间:2024/05/16 02:09

public static String md(String md, String pass)
 {
     MessageDigest m;
     String passok = "";
     try
     {
         m = MessageDigest.getInstance(md);
         m.update(pass.getBytes());
         for (byte b : m.digest())
         {
             passok += String.format("%x", b);
         }
     } catch (NoSuchAlgorithmException e)
     {
         e.printStackTrace();
     }
         return passok;
}

public static void main(String[] args)

{

    while (true)
    {
       c = System.console();
       boolean flag = true;
       System.out.print("请输入用户密码:");
       char[] pass = c.readPassword();
       for (int i = 0; i < pass.length; i++)
       {
           if (!Character.isDigit(pass[i]))
           {
               flag = false;
               break;
           } 
       }
       if (flag)
       {
           password = new String(pass);
           break;
       } 

    }

    String password=md("MD5",password);

}

以上是简单的将明文转化为MD5码模式的密文,写进文件时就是一串谁也不认识的字符,保证了密码的安全性,但是MD5已经过时了,已经被破译了,所以不建议用在安全系数高的项目里!

0 0