package com.gkhy.exam.pay.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Base64; import java.util.Date; public class SignCommond { public SignDto signSm3Detach(String plain) { try { // 使用 SM3 算法生成摘要 MessageDigest md = MessageDigest.getInstance("SM3"); byte[] hashBytes = md.digest(plain.getBytes()); // 将摘要转换为 Base64 编码的字符串 String signatureValue = Base64.getEncoder().encodeToString(hashBytes); SignDto signDto = new SignDto(new Date(), signatureValue, "1234567890", "issuerDn"); return signDto; } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return null; } }