对接https数据(3des加密) - 懒得起名了

wby-666 2021-08-13 原文


对接https数据(3des加密)


private void checkThread() {
Urls urls = new Urls(type);//根据唯一识别类型初始化参数,可根据实际情况修改此构造函数

//访问国家平台接口,取出模板数据
JSONObject jo = new JSONObject();
jo.put(“wstdid”,”ff80808167179c450167c015a1a30188″);
urls.setData(jo.toString());
// String data = Self3des.self3desJiam(urls);//数据加密,根据实际加密方式改写加密方法
String data = “testAccount%25%25%25%256%2BmbF25%2F62mHJz%2FYH6y7Woh4VROXmIf8uT4Kg7qPY66SlKpx1D%2F8nP32lbFMh6ZU%25%25%25%250fccdb9d8b2ef8dfa9e86312ad6967fd1139b6cbc99da1c2d55ba302fbc8cfde%25%25%25%251550542486952%25%25%25%25report_down_tpl”;
//urls.setUrl(urls.getUrl()+”?datainfo=”+data);
/* jo.put(“datainfo”, data);
String jostr = jo.toString();*/
String gjRlt = HttpClientUtil.doPost(urls.getUrl(), data, “utf-8”);
JSONObject rlt = JSONObject.parseObject(gjRlt);

//对反馈结果进行判断处理,取出数据录入供水系统
if(“0”.equals(rlt.get(“code”))){
urls.setData(rlt.getString(“data”));
data = Self3des.self3desJiam(urls);//数据解密,根据实际解密方式改写解密方法

//将取出的数据导入供水系统
String cxgsRlt = HttpClientUtil.doPost(urls.getcxgsurl(), data, “utf-8”);
urls.setData(cxgsRlt);
}

}

 

 

package cxgshttp.utils;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.StatusLine;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.message.BasicHeader;
import org.apache.http.util.EntityUtils;
/**
* 利用HttpClient进行post请求的工具类
* @ClassName: HttpClientUtil
* @Description: TODO
* @author Devin <xxx>
* @date 2017年2月7日 下午1:43:38
*
*/
public class HttpClientUtil {
@SuppressWarnings(“resource”)
public static String doPost(String url,String jsonstr,String charset){
HttpClient httpClient = null;
HttpPost httpPost = null;
String result = null;
try{
httpClient = new SSLClient();
httpPost = new HttpPost(url);
httpPost.addHeader(“Content-Type”, “application/json”);
/* StringEntity se = new StringEntity(jsonstr);
se.setContentType(“text/json”);
se.setContentEncoding(new BasicHeader(“Content-Type”, “application/json”));
httpPost.setEntity(se);*/
//httpPost.setEntity(new StringEntity(jsonstr, “UTF-8”));
HttpResponse response = httpClient.execute(httpPost);
if(response != null){
HttpEntity resEntity = response.getEntity();
if(resEntity != null){
result = EntityUtils.toString(resEntity,charset);
}
}
}catch(Exception ex){
ex.printStackTrace();
}
return result;
}
}

 

public class SSLClient extends DefaultHttpClient {
public SSLClient() throws Exception{
super();
SSLContext ctx = SSLContext.getInstance(“TLS”);
X509TrustManager tm = new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
ctx.init(null, new TrustManager[]{tm}, null);
SSLSocketFactory ssf = new SSLSocketFactory(ctx,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
ClientConnectionManager ccm = this.getConnectionManager();
SchemeRegistry sr = ccm.getSchemeRegistry();
sr.register(new Scheme(“https”, 443, ssf));
}
}

 

package cxgshttp.utils;

import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;

public class DESCryptography {
public static byte[] DES_CBC_Encrypt(byte[] content, byte[] keyBytes){
try {
DESKeySpec keySpec=new DESKeySpec(keyBytes);
SecretKeyFactory keyFactory=SecretKeyFactory.getInstance(“DES”);
SecretKey key=keyFactory.generateSecret(keySpec);

Cipher cipher=Cipher.getInstance(“DES/CBC/PKCS5Padding”);
cipher.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(keySpec.getKey()));
byte[] result=cipher.doFinal(content);
return result;
} catch (Exception e) {
System.out.println(“exception:”+e.toString());
}
return null;
}

public static byte[] DES_CBC_Decrypt(byte[] content, byte[] keyBytes){
try {
DESKeySpec keySpec=new DESKeySpec(keyBytes);
SecretKeyFactory keyFactory=SecretKeyFactory.getInstance(“DES”);
SecretKey key=keyFactory.generateSecret(keySpec);

Cipher cipher=Cipher.getInstance(“DES/CBC/PKCS5Padding”);
cipher.init(Cipher.DECRYPT_MODE, key, new IvParameterSpec(keyBytes));
byte[] result=cipher.doFinal(content);
return result;
} catch (Exception e) {
System.out.println(“exception:”+e.toString());
}
return null;
}

}

发表于
2019-03-15 14:29 
懒得起名了 
阅读(454
评论(0
编辑 
收藏 
举报

 

版权声明:本文为wby-666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/wby-666/p/10536875.html

对接https数据(3des加密) - 懒得起名了的更多相关文章

  1. Apache POI 操作Excel(3)– Excel基础 – 快乐随行

    Apache POI 操作Excel(3)– Excel基础 Excel基本组成 首先在生成Exc […]...

  2. Java In This Week : 打工人的一周

    1. Spring and Java >> The JPA and Hibernate first […]...

  3. 关于windows服务器的Security安全类日志的导出 – 520_1351

    对于windows服务器,日志的分类会有很多,可以通过wevtutil el 列出 有时可能会对Securit […]...

  4. 企业安全监控中的大数据技术 – Mysticbinary

    企业安全监控中的大数据技术 目录 数据源 Filebeat Kafka Flink ES Kibana 参考 […]...

  5. 如何加固Linux系统 – 90源代码

    View Post 如何加固Linux系统 如何加固Linux系统 一. 账户安全   1.1 锁定系统中多余 […]...

  6. Linux 图形界面与控制台切换! – shao

    Linux 图形界面与控制台切换!      由图形界面–>控制台 切换命令:ctrl+al […]...

  7. line-height的用法(一) – baoyadong

    line-height的用法(一)   行高”顾名思意指一行文字的高度。具体来说是指两行文字间基线之间的距离。 […]...

  8. 硬盘GPT分区与MBR分区的转换 – wgwyanfs

    硬盘GPT分区与MBR分区的转换 怎样将gpt分区更改成mbr分区? ”由于笔记本电脑硬盘分区表是GPT而导致 […]...

随机推荐

  1. 每天一个linux命令(55):traceroute命令

    通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同 […]...

  2. jenkins 安装成功之后配置

    jenkins安装成功之后如果某些东西配置的话,可能部署的时候一堆的问题,所以单独总结一下,让大家少走弯路 一 […]...

  3. 有哪些免费将证件照无损压缩到指定大小的方法

    又到一年一次的高考生,成千上万的莘莘学子带着紧张和期待踏入了考场,人生中最重要的考试预祝广大学子都能考出理想的 […]...

  4. 学习MySQL(上)

    具体实例 1.PHP 服务器组件 对于初学者建议使用集成的服务器组件,它已经包含了 PHP、Apache、My […]...

  5. 推荐:微服务详细入坑指南

    概念:微服务就是一些可独立运行、可协同工作的小的服务。微服务是现在特别流行的服务,微服务的字面意思是大家都很好 […]...

  6. 机器学习(二):理解线性回归与梯度下降并做简单预测

    预测从瞎猜开始 按上一篇文章所说,机器学习是应用数学方法在数据中发现规律的过程。既然数学是对现实世界的解释,那 […]...

  7. 删除此电脑(设备和驱动器)中多余图标

    1、按win+R,输入regedit,打开注册表编辑器; 2、依次打开计算机\HKEY_CURRENT_USE […]...

  8. 6S精益推行图解手册(超值白金版)

    6S精益推行图解手册(超值白金版) 一 推进6S的认识 一 6S的起源与含义 一、6S的起源 二、6S活动的内 […]...

展开目录

目录导航