一:前端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);} }