MD5数据加密

微笑、不失礼 提交于 2020-02-20 10:48:02

数据加密

1.MD5概述:
MD5是一种数据加密的算法,可以用于数据的加密,文件快传,文件校验,数据压缩等方面。
MD5还被称之为数据摘要算法,或数据指纹算法。
特点:

  1. 经过加密后的数据,是不能被破解的,无法得到原有的明文内容。
  2. 经过加密的数据,都是128位2进制数据组成。通常会把它书写成32位16进制数据。
  3. 任何形式的数据,经过加密之后,都会变为二进制数据,长度为32位16进制数据。
  4. 同一份数据经过md5加密之后,一定会得到同一个结果。

MD5加密工具类

package com.xieyunjie.util;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 * Created by limi on 2017/10/15.
 */
public class MD5Utils {

    /**
     * MD5加密类
     * @param str 要加密的字符串
     * @return    加密后的字符串
     */
    public static String code(String str){
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            md.update(str.getBytes());
            byte[]byteDigest = md.digest();
            int i;
            StringBuffer buf = new StringBuffer("");
            for (int offset = 0; offset < byteDigest.length; offset++) {
                i = byteDigest[offset];
                if (i < 0)
                    i += 256;
                if (i < 16)
                    buf.append("0");
                buf.append(Integer.toHexString(i));
            }
            //32位加密
            return buf.toString();
            // 16位的加密
            //return buf.toString().substring(8, 24);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }

    }


    public static void main(String[] args) {
        System.out.println(code("111111"));
    }
}

在引入对应的包后即可直接使用
1
2
3
注:此处附上我的个人博客:
天涯博客
谢谢!!!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!