MD5数据加密

数据加密

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"));
    }
}

在引入对应的包后即可直接使用
MD5数据加密_第1张图片

MD5数据加密_第2张图片

MD5数据加密_第3张图片

你可能感兴趣的:(加密,springboot)