Appearance
代码示例
java
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.Method;
import com.alibaba.fastjson.JSONObject;
import com.my.mytest.utils.AESUtil;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.UUID;
import static com.my.mytest.utils.AESUtil.decrypt;
public class PersonalServiceMain {
public static void main(String[] args) {
String url = "yourUrl" + "SFZXXCX";
System.out.println("sfzxxcx url: " + url);
JSONObject jsonObject = new JSONObject();
jsonObject.put("nsrsbh", " ");
jsonObject.put("appid", "yourAppId");
jsonObject.put("sid", UUID.randomUUID());
HashMap<String, Object> map = new HashMap<>();
map.put("dqdm", "141");
map.put("djxh", " ");
map.put("swjgdm", " ");
jsonObject.put("input", map);
String encrypted;
String encoded;
String data;
String decrypt;
try {
encrypted = AESUtil.encrypt(URLDecoder.decode(JSONObject.toJSONString(jsonObject), "UTF-8"), "dc5261a5d3114468ac2d240972308daa");
encoded = URLEncoder.encode(encrypted, StandardCharsets.UTF_8);
HttpRequest request = new HttpRequest(url)
.method(Method.POST)
.header("Content-Type", "application/json")
.header("appid", "yourAppId")
.body(encoded);
HttpResponse response = request.execute();
String body = response.body();
System.out.println("响应: " + body);
data = JSONObject.parseObject(body).getString("data");
System.out.println("data = " + data);
decrypt = decrypt(data, "yourAppSecret");
System.out.println("解密后的数据: " + decrypt);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
}
java
import cn.hutool.crypto.symmetric.AES;
/**
* @author zhouxx
* @create 2025-01-24 15:14
*/
public class AESUtil{
/*
* 加密 1.构造密钥生成器 2.根据ecnodeRules规则初始化密钥生成器 3.产生密钥 4.创建和初始化密码器 5.内容加密 6.返回字符串
*/
public static String encrypt(String content, String encodeRules) {
AES encode = new AES(encodeRules.getBytes());
return encode.encryptBase64(content);
}
/*
* 解密 解密过程: 1.同加密1-4步 2.将加密后的字符串反纺成byte[]数组 3.将加密内容解密
*/
public static String decrypt(String content, String encodeRules) {
AES decode = new AES(encodeRules.getBytes());
return decode.decryptStr(content);
}
}