java - Java中的密码哈希方法

标签 java password-protection

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/

相关文章:

ios - 使用 PDFKit iOS 为现有 pdf 文件添加密码保护

java - 向 JButton 的位置添加值

java - 当我单击 JButton 时,JFrame 组件如何消失?

java - 使用 volley.jar 将图像从服务器加载到我的应用程序

java - 即使第一个提供程序失败,Spring Security 也会调用另一个身份验证提供程序

r - 使用散列对 R Shiny 应用程序的一部分进行简单的密码保护

java - 如何在通过 HTTP GET 获取文件后直接通过 HTTP PUT 发布文件?

java - 受密码保护的 PDF Jaspersoft

php - 使用 Ghostscript 密码保护 PDF

vba - 如何屏蔽excel宏代码