【工具类】MD5加密工具类和RSA加密工具类
MD5工具类(直接上代码):
package com.songzhen.howcool.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.security.MessageDigest; /** * MD5加密工具类 * * @author Lucas * @version 1.0 * @date 2018/10/15 17:51 **/ public class Md5Util { private static Logger logger = LoggerFactory.getLogger(Md5Util.class); public static String encodeMD5(String source) { StringBuffer sb = new StringBuffer(32); try { MessageDigest md = MessageDigest.getInstance("MD5"); byte[] array = md.digest(source.getBytes("utf-8")); for (int i = 0; i < array.length; i++) { sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).toUpperCase().substring(1, 3)); } } catch (Exception e) { logger.error("Can not encode the string '" + source + "' to MD5!", e); return null; } return sb.toString().toUpperCase(); } public static void main(String[] args) { //测试 logger.info(encodeMD5("666666")); } }
RSA工具类(直接上代码):
package com.songzhen.howcool.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.security.KeyFactory; import java.security.PrivateKey; import java.security.PublicKey; import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; /** * RSA工具类 * * @author lucas */ public class RSACryptographyUtil { private static Logger logger = LoggerFactory.getLogger(RSACryptographyUtil.class); /** * 将base64编码后的公钥字符串转成PublicKey实例. * * @author Lucas * @date 2019-03-18 * @param publicKey publicKey * @return PublicKey */ public static PublicKey getPublicKey(String publicKey) { try { byte[] keyBytes = Base64.getDecoder().decode(publicKey.getBytes()); X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); return keyFactory.generatePublic(keySpec); } catch (Exception e) { logger.error("获取PublicKey实例失败:", e); } return null; } /** * 将base64编码后的私钥字符串转成PrivateKey实例. * * @author Lucas * @date 2019-03-18 * @param privateKey privateKey * @return PublicKey */ public static PrivateKey getPrivateKey(String privateKey) { try { byte[] keyBytes = Base64.getDecoder().decode(privateKey.getBytes()); PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes); KeyFactory keyFactory = KeyFactory.getInstance("RSA"); return keyFactory.generatePrivate(keySpec); } catch (Exception e) { logger.error("获取PrivateKey实例:", e); } return null; } }
天不酬勤不够勤,勤到极处自酬人。 ---持续学习