Java MD5加密算法实现及单元测试

public static String MD5encode(String source) {
    if (StringUtils.isBlank(source)) {
        return null;
    }
    MessageDigest messageDigest = null;
    try {
        messageDigest = MessageDigest.getInstance("MD5");
    } catch (NoSuchAlgorithmException ignored) {
    }
    byte[] encode = messageDigest.digest(source.getBytes());
    StringBuilder hexString = new StringBuilder();
    for (byte anEncode : encode) {
        String hex = Integer.toHexString(0xff & anEncode);
        if (hex.length() == 1) {
            hexString.append('0');
        }
        hexString.append(hex);
    }
    return hexString.toString();
}

单元测试方法

@Test
public void testMD5encode() {
    String source = 'password123';
    String expected = '482c811da5d5b4bc6d497ffa98491e38';
    String result = MD5encode(source);
    assertEquals(expected, result);
    
    source = 'Hello World!';
    expected = 'b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9';
    result = MD5encode(source);
    assertEquals(expected, result);
    
    source = '';
    expected = null;
    result = MD5encode(source);
    assertEquals(expected, result);
}

代码说明:

  1. MD5encode 方法接收一个字符串作为输入,并返回其MD5加密后的十六进制字符串。
  2. 该方法使用 MessageDigest 类来进行MD5加密,并使用 StringBuilder 类来拼接十六进制字符串。
  3. 单元测试方法对三种不同的输入字符串进行了测试,包括正常字符串、包含特殊字符的字符串和空字符串。
  4. 测试方法使用 assertEquals 方法来验证结果是否与预期值一致。

结论:

该代码实现了一个简单的MD5加密算法,并通过单元测试方法进行了验证。该代码易于理解和使用,可以方便地用于需要MD5加密的场景。

Java MD5加密算法实现及单元测试

原文地址: https://www.cveoy.top/t/topic/nsZI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录