12

java md5/sm3加密工具类记录

2023-10-09 14:51:00    1147533288    201    原创


<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.68</version> 
</dependency>


import java.security.MessageDigest;
import java.security.Security;

import org.bouncycastle.jce.provider.BouncyCastleProvider;
import sun.misc.BASE64Encoder;

public class CrytogramUtil {

	static {
		// 添加 Bouncy Castle 提供的 SM3 算法支持
		Security.addProvider(new BouncyCastleProvider());
	}
	/**
	 * 使用指定算法加密指定字符串
	 * 
	 * @param message
	 *            待加密的字符串
	 * @param algorithmName
	 *            加密算法
	 * @return 加密后的字符串
	 */
	public static String encrypt(String message, String algorithmName){
		try {
			MessageDigest messageDigest = MessageDigest.getInstance(algorithmName);
			messageDigest.reset();
			byte[] bytes = message.getBytes();
	        byte[] out = messageDigest.digest(bytes);
	        BASE64Encoder enc = new BASE64Encoder();
	        return enc.encode(out);
		} catch (Exception e) {
			return "";
		}		
	}

	public static void main(String[] args) {
		System.out.println(CrytogramUtil.encrypt("1","SM3"));
		System.out.println(CrytogramUtil.encrypt("1","MD5"));
	}
}
苏ICP备18038013号-1
蝉知 蝉知5.2