Skip to content

代码示例

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);
    }

}