一:前端vue

二:后端Java

三:详细

3.1maven添加

<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15to18</artifactId>
    <version>1.66</version>
</dependency>
<dependency>
    <groupId>com.hutool</groupId>
    <artifactId>all</artifactId>
    <version>4.6.17</version>
</dependency>

3.2工具类

public class Sm4Utils {
    /**
     * 返回前端用的十六进制key
     * @param key 必须是16位
     * @return
     */
    public static String generatesm4key(String key) {
       // 前台16进制密钥
        String hexKey = HexUtil.encodeHexStr(key.getBytes());
        System.out.println("16进制前端用:" + hexKey);
        return hexKey;
    }

    public static String encryptData(String key, String data) {
        SM4 sm4 = (SM4) SmUtil.sm4(key.getBytes(StandardCharsets.UTF_8));
        return sm4.encryptHex(data);
    }

    public static String decryptData(String key, String data) {
        SM4 sm4 = (SM4) SmUtil.sm4(key.getBytes(StandardCharsets.UTF_8));
        return sm4.decryptStr(data);
    }
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐