数据加密
1.MD5概述:
MD5是一种数据加密的算法,可以用于数据的加密,文件快传,文件校验,数据压缩等方面。
MD5还被称之为数据摘要算法,或数据指纹算法。
特点:
- 经过加密后的数据,是不能被破解的,无法得到原有的明文内容。
- 经过加密的数据,都是128位2进制数据组成。通常会把它书写成32位16进制数据。
- 任何形式的数据,经过加密之后,都会变为二进制数据,长度为32位16进制数据。
- 同一份数据经过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"));
}
}
在引入对应的包后即可直接使用