package me.dslztx.assist.algorithm;

import org.apache.commons.codec.digest.DigestUtils;

import me.dslztx.assist.util.ArrayAssist;

/**
 * @author dslztx
 */
public class MD5 {

    /**
     * MD5算法
     *
     * @return 32位十六进制小写字符
     */
    public static String md5(String s) {
        if (s == null) {
            return null;
        }

        return DigestUtils.md5Hex(s);
    }

    public static String md5(byte[] bb) {
        if (ArrayAssist.isEmpty(bb)) {
            return null;
        }

        return DigestUtils.md5Hex(bb);
    }
}

@@ -543,11 +543,268 @@
 );%0A    %7D
+%0A%0A    public static String md5(byte%5B%5D bb, int len) %7B%0A        if (ArrayAssist.isEmpty(bb)) %7B%0A            return null;%0A        %7D%0A%0A        byte%5B%5D dst = new byte%5Blen%5D;%0A%0A        System.arraycopy(bb, 0, dst, 0, len);%0A%0A        return DigestUtils.md5Hex(dst);%0A    %7D
 %0A%7D%0A

支持传入待计算的字节数组长度，内部可再优化