md5加密(用于密码加密)
md5加密简介
MD5消息摘要算法,属Hash算法一类。MD5算法对输入任意长度的消息进行运行,产生一个128位的消息摘要(32位的数字字母混合码)。
加密不可逆可以用于密码加密
java工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| import org.springframework.stereotype.Service; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;
public class Md5Utils { public 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)); } return buf.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; }
}
|
md5加密代码
1
| String password = md5Utils.code("要加密的字符串");
|
与数据库密码比对
1
| user1.getPassword().equals(md5Utils.code(param.getString("password")));
|
base64编码
base64简介
Base64是一种基于64个字符的编码算法,根据RFC 2045的定义:“Base64内容传送编码是以一种任意8位字节序列组合的描述形式,这种形式不易被人直接识别”。base64是一种编码方式,不是加密方法
工具类
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import org.springframework.util.Base64Utils;
public class Base64Util {
public static byte[] decryptBASE64(byte[] key) throws Exception { return Base64Utils.decode(key); } public static String encryptBASE64(byte[] key) throws Exception { return new String(Base64Utils.encode(key)); } }
|
base64简单使用
1 2
| jiami = Base64Util.encryptBASE64("字符串".getBytes()); String jiemi = new String(Base64Util.decryptBASE64(jiami.getBytes()), "UTF-8");
|