【发布时间】:2011-03-15 03:46:27
【问题描述】:
我正在尝试对密码进行哈希处理并将其保存在数据库中;我知道散列是一种单向过程。如何检查用户提供的密码和存储在数据库中的密码是否相同?我正在使用 MD5,并且每次执行散列时都会为相同的输入获得不同的值。有人可以帮忙吗?
String pass = "wor1ldcup";
String pass1 = "wor1ldcup";
DigestUtils du = new DigestUtils();
byte[] b = du.md5(pass);
byte[] b1 = du.md5(pass1);
【问题讨论】:
-
您能否提供一个错误代码示例,用于从同一输入生成不同的 md5 值?
-
我可以散列值,但我不知道如何再次使用该值进行比较
-
/同意亚尼克的观点。如果您正确使用 MD5,除非输入更改,否则它不会更改。这就是为什么它被如此多地用于验证(并不是说它不可能破坏它,因为它是,但是......)
-
这不是骗子,我可以散列字符串但不知道如何使用散列值。请正确阅读问题。
标签: java