使用DatatypeConverter将字节解码为原始字符串

时间:2013-08-03 04:28:03

标签: java

我使用MessageDigest来哈希我的密码+ salt,现在我想转换回来,这样我就可以将原始值与用户密码进行比较。

String _Pass = new String(tfuserpass.getPassword());      
  //===========================================================================================================================================================
  MessageDigest md = null;   
    try
    {
        md = MessageDigest.getInstance("SHA-512");          
    } 
    catch (NoSuchAlgorithmException e)
    {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
  md.update(_Pass.getBytes());
  byte byteData[] = md.digest();

  StringBuffer sb = new StringBuffer();
  for (int i = 0; i < byteData.length; i++)
  {
   sb.append(Integer.toString((byteData[i] & 0xff) + 0x100, 16).substring(1));
  }


Class main()
{

//I have used MessageDigest to hash + salt in this class for password.
}

Class main1()
{
//Now I want to decode and compare the values with the actual value to authenticate the user here.


}

如何验证用户身份?

1 个答案:

答案 0 :(得分:1)

创建MEssage摘要后,您无法对其进行解密,通常采用相同的方法获取新密码,应用相同的salt和哈希值,并将结果值与原始哈希值进行比较。

这样您就永远不会存储用户密码,如果您被黑客入侵,则用户受到保护