package com.example.jz.utils; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Base64; /** * @author 安瑾然 * @data 2022/7/18 - 10:52 AM * @description 加密工具类 */ public class Md5Utils { public static String md5(String str) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(str.getBytes()); byte b[] = md.digest(); str = byteToStr(b); } catch (Exception e) { e.printStackTrace(); } return str; } public static String byteToStr(byte[] b){ int i; StringBuffer buf = new StringBuffer(""); for (int offset = 0; offset < b.length; offset++) { i = b[offset]; //System.out.println(i); if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } return buf.toString(); } /** * 传入文本内容,返回 SHA-256 串 * * @param strText * @return */ public static String SHA256(final String strText) { return SHA(strText, "SHA-256"); } public static String SHA1(final String strText) { return SHA(strText, "SHA-1"); } /** * 传入文本内容,返回 SHA-512 串 * * @param strText * @return */ public static String SHA512(final String strText) { return SHA(strText, "SHA-512"); } /** * 字符串 SHA 加密 * * @param strText * @return */ private static String SHA(final String strText, final String strType) { // 返回值 String strResult = null; // 是否是有效字符串 if (strText != null && strText.length() > 0) { try { // SHA 加密开始 MessageDigest messageDigest = MessageDigest.getInstance(strType); // 传入要加密的字符串 messageDigest.update(strText.getBytes("utf-8")); // 得到 byte 类型的结果 byte byteBuffer[] = messageDigest.digest(); strResult = byteToStr(byteBuffer); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); }catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return strResult; } public static String base64(String str){ String baseStr = null; Base64.Encoder encoder = Base64.getEncoder(); byte[] textByte; try { textByte = str.getBytes("UTF-8"); baseStr = encoder.encodeToString(textByte); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return baseStr; } public static void main(String[] args) { String password = "bunana1"; System.out.println(md5(password)); //String base64 = base64(sha512); //System.out.println(base64); //String pwd1 = md5(base64); //System.out.println(pwd1); } }