我使用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.
}
如何验证用户身份?
答案 0 :(得分:1)
创建MEssage摘要后,您无法对其进行解密,通常采用相同的方法获取新密码,应用相同的salt和哈希值,并将结果值与原始哈希值进行比较。
这样您就永远不会存储用户密码,如果您被黑客入侵,则用户受到保护