public static String encryptPassword( String password ) {
String encrypted = "";
try {
MessageDigest digest = MessageDigest.getInstance( "MD5" );
byte[] passwordBytes = password.getBytes( );
digest.reset( );
digest.update( passwordBytes );
byte[] message = digest.digest( );
StringBuffer hexString = new StringBuffer();
for ( int i=0; i < message.length; i++)
{
hexString.append( Integer.toHexString(
0xFF & message[ i ] ) );
}
encrypted = hexString.toString();
}
catch( Exception e ) { }
return encrypted;
}
我正在使用 Java。我使用这种方法对密码进行哈希处理,并且在存储到数据库中时它可以正常工作。现在我很难解密。还有比这更有效的方法吗?
最佳答案
你无法解密它。 MD5 是 hash - 这是一种方式,不同于双向加密算法。
虽然您通常不应该尝试解密密码 - 您存储散列(理想情况下是加盐的),然后将“已知良好”散列与给定密码的散列进行比较用户稍后。
(我个人最近会避免使用 MD5,但那是另一回事了。)
关于java - Java中的密码哈希方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6635866/