当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java MD5 hash用法及代码示例


要在Java中计算加密哈希值,将使用MessageDigest Class(位于包java.security下)。

MessagDigest类提供以下加密哈希函数来查找文本的哈希值,它们是:
1. MD5
2. SHA-1
3. SHA-256

该算法在称为getInstance()的静态方法中初始化。选择算法后,它将计算摘要值并以字节数组形式返回结果。


使用BigInteger类,该类将结果字节数组转换为其sign-magnitude表示形式。

该表示形式转换为十六进制格式以获取MessageDigest

例子:

Input:hello world
Output:5eb63bbbe01eeed093cb22bb8f5acdc3

Input:GeeksForGeeks
Output:e39b9c178b2c9be4e99b141d956c6ff6
import java.math.BigInteger; 
import java.security.MessageDigest; 
import java.security.NoSuchAlgorithmException; 
  
// Java program to calculate MD5 hash value 
public class MD5 { 
    public static String getMd5(String input) 
    { 
        try { 
  
            // Static getInstance method is called with hashing MD5 
            MessageDigest md = MessageDigest.getInstance("MD5"); 
  
            // digest() method is called to calculate message digest 
            //  of an input digest() return array of byte 
            byte[] messageDigest = md.digest(input.getBytes()); 
  
            // Convert byte array into signum representation 
            BigInteger no = new BigInteger(1, messageDigest); 
  
            // Convert message digest into hex value 
            String hashtext = no.toString(16); 
            while (hashtext.length() < 32) { 
                hashtext = "0" + hashtext; 
            } 
            return hashtext; 
        }  
  
        // For specifying wrong message digest algorithms 
        catch (NoSuchAlgorithmException e) { 
            throw new RuntimeException(e); 
        } 
    } 
  
    // Driver code 
    public static void main(String args[]) throws NoSuchAlgorithmException 
    { 
        String s = "GeeksForGeeks"; 
        System.out.println("Your HashCode Generated by MD5 is:" + getMd5(s)); 
    } 
}

输出:
您的由MD5生成的HashCode为:e39b9c178b2c9be4e99b141d956c6ff6

参考文献:
适用于MessageDigest的Java文档



相关用法


注:本文由纯净天空筛选整理自bilal-hungund大神的英文原创作品 MD5 hash in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。