Java 加密解密工具
阿新 • • 發佈:2019-01-08
package com.panda.core.db.util; import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.IOException; import java.math.BigInteger; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * Created by Lovell on 16/6/28. */ public class EncryptUtils { /*** 用MD5演算法進行加密 * @param str 需要加密的字串 * @return MD5加密後的結果 */ public static String encodeMD5String(String str) { return encode(str, "MD5"); } /** * 用SHA演算法進行加密 * @param str 需要加密的字串 * @return SHA加密後的結果 */ public static String encodeSHAString(String str) { return encode(str, "SHA"); } /** * 用base64演算法進行加密 * @param str 需要加密的字串 * @return base64加密後的結果 */ public static String encodeBase64String(String str) { BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(str.getBytes()); } /** * 用base64演算法進行解密 * @param str 需要解密的字串 * @return base64解密後的結果 * @throws IOException */ public static String decodeBase64String(String str) throws IOException { BASE64Decoder encoder = new BASE64Decoder(); return new String(encoder.decodeBuffer(str)); } private static String encode(String str, String method) { MessageDigest md = null; String dstr = null; try { md = MessageDigest.getInstance(method); md.update(str.getBytes()); dstr = new BigInteger(1, md.digest()).toString(16); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return dstr; } }