-4

我已经使用 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.


}

如何验证用户身份?

4

1 回答 1

1

一旦你创建了一个 MEssage 摘要,你就无法解密它,通常的方法是获取新密码,应用相同的盐和哈希,并将结果值与原始哈希进行比较。

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

于 2013-08-03T04:31:27.063 回答