MD5加密

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MD5加密相关的知识,希望对你有一定的参考价值。

话不多说,直接上代码:

默认会对字符串的前2048个字符进行加密,可以根据需要进行调整

package com.ebao.frontsys.tools;


import java.nio.charset.Charset;

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;


import org.apache.commons.lang.exception.ExceptionUtils;

import org.apache.logging.log4j.LogManager;

import org.apache.logging.log4j.Logger;


public class MD5Utils {

private static final int MD5_LENGTH = 1024 * 2;

private static Logger logger  = LogManager.getLogger(MD5Utils.class.getName());

public static String generateMD5(String plainText) {

try {

    if (null == plainText || plainText.length() == 0)

        plainText = "";


    plainText = (plainText.length() > MD5_LENGTH) ? plainText

            .substring(0, MD5_LENGTH) : plainText;


    MessageDigest md = MessageDigest.getInstance("MD5");

    byte[] bytes = plainText.getBytes(Charset.forName("UTF-8"));

    md.update(bytes);

    byte b[] = md.digest();

    int i;

    StringBuffer buf = new StringBuffer("");

    for (int offset = 0, j = b.length; offset < j; offset++) {

        i = b[offset];

        if (i < 0)

         i += 256;

        if (i < 16)

         buf.append("0");

        buf.append(Integer.toHexString(i));

    }

    return buf.toString().toLowerCase();

} catch (NoSuchAlgorithmException e) {

    logger.debug(ExceptionUtils.getFullStackTrace(e));

    return null;

}

}


}


本文出自 “4443915” 博客,请务必保留此出处http://4443915.blog.51cto.com/4433915/1791604

以上是关于MD5加密的主要内容,如果未能解决你的问题,请参考以下文章

md5 加密,既然无法解密,那这个加密的意义有啥呢? 对文件加密后怎么返回原值呢?

md5可以加密数组吗

md5加密以后的字符串长度

谁可以告诉我md5加密原理

js 前端md5加密 后端怎么办

ios 怎么使用md5进行加密