From 3b255514dd67ed868f9bda92d6b240c89bd7eb0e Mon Sep 17 00:00:00 2001 From: cheney Date: Mon, 15 Jun 2026 17:59:34 +0800 Subject: [PATCH] all --- DraftEncrypt.class | Bin 0 -> 13276 bytes test/test/.gitignore | 29 + test/test/.idea/.gitignore | 5 + test/test/.idea/encodings.xml | 6 + test/test/.idea/misc.xml | 6 + test/test/.idea/modules.xml | 8 + test/test/1.txt | 8 + test/test/src/DraftEncrypt.java | 665 ++++++++++++++++++ test/test/src/T.java | 9 + test/test/src/Test.java | 215 ++++++ test/test/test.iml | 11 + .../DraftEncrypt.java | 547 ++++++++++++++ .../Test.java | 197 ++++++ .../城市商业银行密押系统应用程序接口说明(java版).doc | Bin 0 -> 79360 bytes .../城市商业银行密押系统应用程序接口说明(java版).pdf | Bin 0 -> 67995 bytes .../DraftEncrypt.jar | Bin 0 -> 9199 bytes .../DraftEncrypt.java | 655 +++++++++++++++++ .../Test.java | 215 ++++++ .../城市商业银行密押系统应用程序接口说明(java版)V1.01.pdf | Bin 0 -> 98450 bytes 19 files changed, 2576 insertions(+) create mode 100644 DraftEncrypt.class create mode 100644 test/test/.gitignore create mode 100644 test/test/.idea/.gitignore create mode 100644 test/test/.idea/encodings.xml create mode 100644 test/test/.idea/misc.xml create mode 100644 test/test/.idea/modules.xml create mode 100644 test/test/1.txt create mode 100644 test/test/src/DraftEncrypt.java create mode 100644 test/test/src/T.java create mode 100644 test/test/src/Test.java create mode 100644 test/test/test.iml create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/DraftEncrypt.java create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/Test.java create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/城市商业银行密押系统应用程序接口说明(java版).doc create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/城市商业银行密押系统应用程序接口说明(java版).pdf create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/DraftEncrypt.jar create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/DraftEncrypt.java create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/Test.java create mode 100644 密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/城市商业银行密押系统应用程序接口说明(java版)V1.01.pdf diff --git a/DraftEncrypt.class b/DraftEncrypt.class new file mode 100644 index 0000000000000000000000000000000000000000..c1cb56960315b030d0059d162396bfdc3572cd8a GIT binary patch literal 13276 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 + + + + + \ No newline at end of file diff --git a/test/test/.idea/misc.xml b/test/test/.idea/misc.xml new file mode 100644 index 0000000..0548357 --- /dev/null +++ b/test/test/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/test/test/.idea/modules.xml b/test/test/.idea/modules.xml new file mode 100644 index 0000000..ea6e2e7 --- /dev/null +++ b/test/test/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/test/test/1.txt b/test/test/1.txt new file mode 100644 index 0000000..80d45a7 --- /dev/null +++ b/test/test/1.txt @@ -0,0 +1,8 @@ +535944 +01 +0000 +00A1 +0000000000000000000000000000000000000000000000000000000000000000 +3136303030 +05 +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/test/test/src/DraftEncrypt.java b/test/test/src/DraftEncrypt.java new file mode 100644 index 0000000..53b791f --- /dev/null +++ b/test/test/src/DraftEncrypt.java @@ -0,0 +1,665 @@ +package com.sunyard.encrypt; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ConnectException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.util.Properties; + +//#define ERR_CONNECT 9001 /*联机错误*/ +//#define ERR_SEND 9002 /*发送错误*/ +//#define ERR_RECV 9003 /*接收错误*/ +//#define ERR_CAL 9004 /*加押错误*/ +//#define ERR_CHECK 9005 /*核押错误*/ +//#define ERR_SIGN 9006 /*核对签名错误*/ +//#define ERR_SENDER 9007 /*发报行标识错误*/ +//#define ERR_RECEIVER 9008 /*收报行标识错误*/ +//#define ERR_EXCEPTION 9009 /*加密卡处理异常*/ +//#define ERR_DATA 9010 /*数据报文错误*/ +//#define ERR_TIMEOUT 9011 /*网络通信超时*/ +//#define ERR_PURVIEW 9012 /*发报行无编押权限*/ + +public class DraftEncrypt { + String ServerName1; /*密押服务器地址1*/ + String ServerName2; /*密押服务器地址2*/ + Socket sock_check; + int m_TimeOut; + int m_MyLoopNum; + int m_MyLoopFlag; + int m_port = 8889; + String m_CipherValue; + + public DraftEncrypt() throws IOException { + sock_check = null; + m_TimeOut=10; + m_MyLoopNum=0; + m_MyLoopFlag=0; + m_CipherValue = null; + m_port = 8889; + } + + public String getCipherValue() { + return m_CipherValue; + } + + public void setCipherValue(String cipherValue) { + m_CipherValue = cipherValue; + } + + public String config(String appName) { + InputStream is = this.getClass().getClassLoader().getResourceAsStream( + "config.ini"); + Properties p = new Properties(); + try { + p.load(is); + } catch (IOException e) { + e.printStackTrace(); + } + + return p.getProperty(appName); + } + public void CloseConnect_MY() throws IOException + { + if(sock_check!=null) { + //System.out.println("sock:"+sock_check); + sock_check.shutdownOutput(); + sock_check.close(); + sock_check = null; + } + if(m_MyLoopFlag==0) + m_MyLoopFlag=1; + else + m_MyLoopFlag=0; + } + + public int DraftEncrypt(int TransactType,char YwType, + String Date,String SerialNo,String Amount, + String SendNode, String RecvNode, String OtherInfo, + String CipherValue,String My_IPAdress1, + String My_IPAdress2,int TimeOut) throws IOException + { + + int len = OtherInfo.length(); + if(len<8){ + OtherInfo = addZero(OtherInfo, 8); + }else{ + if(len%2 == 1){ + len+=1; + } + OtherInfo = addZero(OtherInfo, len); + } + /*char[] byteOther = getSerialNo(OtherInfo); + for(int i =0 ;i=8){ + char[] hex1=getSerialNo(OtherInfo); + System.out.println(hex1); + String ssss = ""; + for(int i=0;i<4;i++){ + ssss=ssss+hex1[i]; + } + OtherInfo=ssss; + } + System.out.println(BytesToString(OtherInfo.getBytes())+OtherInfo.length()); + int y =OtherInfo.charAt(0); + char a = 0x88; + byte a1 = (byte) a; + int a2 = a; + System.out.println(y); + + SetParamAll(My_IPAdress1,My_IPAdress2,TimeOut); +// System.out.println("in DraftEncrypt, hello!!!"); +// m_CipherValue = "1234567890"; +// return 0; + return DraftEncrypt1(TransactType,YwType,Date,SerialNo,Amount,SendNode,RecvNode,OtherInfo,CipherValue); + } + + public int DraftEncrypt1(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode,String RecvNode,String OtherInfo,String CipherValue) throws IOException + { + int ret_code ; + + ret_code = CipherTransact(TransactType, YwType, Date, SerialNo, Amount, SendNode, RecvNode, OtherInfo, CipherValue); + if((ret_code == 9001) || (ret_code == 9002) || (ret_code == 9003) + || (ret_code == 9011) || (ret_code == 9009)) + { + CloseConnect_MY(); +// 如 果第一个密押服务器通讯错误,则自动用第二个密押服务器的IP地址 + ret_code = CipherTransact(TransactType, YwType, Date, SerialNo, Amount, SendNode, RecvNode, OtherInfo, CipherValue); + return ret_code; + } + else + { + return ret_code; + } + } + + public int SetParamAll(String My_IPAdress1,String My_IPAdress2,int TimeOut) + { + int ret; + + ret=My_IPAdress1.length(); + if(ret>99) + return -1; + ServerName1=My_IPAdress1; + + ret=My_IPAdress2.length(); + if(ret>99) + return -2; + ServerName2=My_IPAdress2; + + if(TimeOut<2) + m_TimeOut=2; + else if(TimeOut>120) + m_TimeOut=120; + else + m_TimeOut=TimeOut; + return 0; + } + private static char[] enlargechar(char[] summand, String addend, int from) { + int len = addend.length(); + for (int i = 0; i < len; i++) { + summand[from + i] = addend.charAt(i); + } + return summand; + } + + public Socket testIP(String ip, int port) throws NumberFormatException, UnknownHostException, IOException { + SocketAddress ipt; + Socket socket1; + + try { + System.out.println("IP:"+ip+" port:"+port); + ipt = new InetSocketAddress(ip, port); + socket1 = new Socket(); + socket1.connect(ipt, 1000); + if (socket1.isClosed() == false && socket1.isConnected() == true) + return socket1; + } catch (ConnectException e) { + System.out.println("注意:"+ip+ "连接异常!"); + } catch (SocketTimeoutException e) { + System.out.println("注意:"+ip+ "Socket连接超时异常!"); + } + return null; + } + + public BufferedOutputStream getBufferedWriter(Socket socket) throws IOException { + OutputStream out = socket.getOutputStream(); + BufferedOutputStream writer = new BufferedOutputStream(out); + return writer; + } + public BufferedInputStream getBufferedRead(Socket socket) throws IOException { + InputStream in = socket.getInputStream(); + BufferedInputStream reader = new BufferedInputStream(in); + return reader; + } + private byte[] getBytes (char[] chars) { + Charset cs = Charset.forName ("UTF-8"); + CharBuffer cb = CharBuffer.allocate (chars.length); + cb.put (chars); + cb.flip (); + ByteBuffer bb = cs.encode (cb); + return bb.array(); + } + private char[] getChars (byte[] bytes) { + Charset cs = Charset.forName ("UTF-8"); + ByteBuffer bb = ByteBuffer.allocate (bytes.length); + bb.put (bytes); + bb.flip (); + CharBuffer cb = cs.decode (bb); + return cb.array(); + } + + private char[] getSerialNo(String s){ + char hex[] =new char[8]; + char ch ; + for(int i=0;i='0'&&ch<='9'){ + ch-='0'; + } + if(ch>='A'&&ch<='F'){ + ch=(char) (ch-'A'); + ch=(char) (ch+10); + } + if(i%2==0) + { + hex[i/2]=(char) (ch<<4); + } + else + { + hex[i/2]=(char) (hex[i/2]|ch); + } + + } + return hex; + } + public int CipherTransact(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode,String RecvNode,String OtherInfo,String CipherValue) throws NumberFormatException, UnknownHostException, IOException + { +// unsigned char Send_Data[2000],Recv_Data[2000]; + char Send_Data[] = new char[180]; + char Recv_Data[] = new char[2000]; + + String temp; + int Len_No,Len_Send; +// int i; +// unsigned int my_value; + //Package +// memset(Send_Data,0x00,180); + int s =0; + + + + + + + for (int j = 0; j < Send_Data.length; j++) { + Send_Data[j] = 0x00; + } +// memcpy(Send_Data,"SYD",3); + Send_Data[0]='S'; + Send_Data[1]='Y'; + Send_Data[2]='D'; + + Send_Data[3]=1; + Send_Data[4]=(char)(m_MyLoopNum/256); + Send_Data[5]=(char)(m_MyLoopNum%256); + m_MyLoopNum=(m_MyLoopNum+1)%65536; + + Send_Data[6]=0; + Send_Data[7]=124+32+5; + + if(SerialNo.length()==16){ + s =18000+TransactType; + char[] hex=getSerialNo(SerialNo); + String ss = ""; + for(int i=0;i12) +// Len_No=12; +// memcpy(Send_Data+8+32+37+(12-Len_No),SendNode,Len_No); + Len_No = SendNode.length(); + if(Len_No>12){ + Len_No=12; + SendNode = SendNode.substring(0,12); + } + Send_Data = enlargechar(Send_Data, SendNode, 77+(12-Len_No)); + +// Len_No=strlen(RecvNode); +// if(Len_No>12) +// Len_No=12; +// memcpy(Send_Data+8+32+49+(12-Len_No),RecvNode,Len_No); + Len_No = RecvNode.length(); + if(Len_No>12){ + Len_No=12; + RecvNode = RecvNode.substring(0,12); + } + Send_Data = enlargechar(Send_Data, RecvNode, 89+(12-Len_No)); + +// memcpy(Send_Data+8+32+61,OtherInfo,60); + //ding + + +// if(SerialNo.length()==16){ +// s =18000+TransactType; +// char[] hex=getSerialNo(SerialNo); +// String ss = ""; +// for(int i=0;i= '0' && hex_char1 <= '9') + int_ch1 = (hex_char1 - 48) * 16; // // 0 锟斤拷Ascll - 48 + else if (hex_char1 >= 'A' && hex_char1 <= 'F') + int_ch1 = (hex_char1 - 55) * 16; // // A 锟斤拷Ascll - 65 + else + return null; + i++; + char hex_char2 = hexString.charAt(i); // /锟斤拷位16锟斤拷锟斤拷锟斤拷锟叫的第讹拷位(锟斤拷位) + int int_ch2; + if (hex_char2 >= '0' && hex_char2 <= '9') + int_ch2 = (hex_char2 - 48); // // 0 锟斤拷Ascll - 48 + else if (hex_char2 >= 'A' && hex_char2 <= 'F') + int_ch2 = hex_char2 - 55; // // A 锟斤拷Ascll - 65 + else + return null; + int_ch = int_ch1 + int_ch2; + retData[i / 2] = (byte) int_ch;// 锟斤拷转锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷Byte锟斤拷 + } + return retData; + } + +} + + + +//535944 +// 01 +// 0000 +// 00A1 +//0000000000000000000000000000000000000000000000000000000000000000 +// 31 +// 36303030050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file diff --git a/test/test/src/T.java b/test/test/src/T.java new file mode 100644 index 0000000..138ec45 --- /dev/null +++ b/test/test/src/T.java @@ -0,0 +1,9 @@ +public class T { + + public static void main(String[] args) { + + + System.out.println(30L * 24L * 60L * 60L * 1000L); + + } +} diff --git a/test/test/src/Test.java b/test/test/src/Test.java new file mode 100644 index 0000000..7f5c380 --- /dev/null +++ b/test/test/src/Test.java @@ -0,0 +1,215 @@ +package com.sunyard.encrypt; + +import java.io.IOException; + +import com.sunyard.encrypt.DraftEncrypt; + + + +public class Test { + + /** + * @param args + * @throws IOException + */ + private static char[] getSerialNo(String s){ + char hex[] =new char[8]; + char ch ; + for(int i=0;i='0'&&ch<='9'){ + ch-='0'; + } + if(ch>='A'&&ch<='F'){ + ch=(char) (ch-'A'); + ch=(char) (ch+10); + } + if(i%2==0) + { + hex[i/2]=(char) (ch<<4); + } + else + { + hex[i/2]=(char) (hex[i/2]|ch); + } + + } + return hex; + }//压缩字符串 + + public static void main(String[] args) throws IOException { + // TODO Auto-generated method stub + /***************************************************************************** + DraftEncrypt:编核押函数 + int DraftEncrypt(int TransactType,char YwType,String Date,String SerialNo, + String Amount,String SendNode, String RecvNode, String OtherInfo,String CipherValue, + String My_IPAdress1,String My_IPAdress2,int TimeOut) + 参数说明: + TransactType:处理类型——2k:编押 2k+1:核押 + (k = 0,只有一种密钥,适用于密押机I型) + k为整数0≤k≤9,代表10种密钥类型,适用于密押机II型) + YwType: 业务种类(0x01,0x02,0x03,0x04,0x05) + (0x01=现金汇票,0x02=可转转帐汇票, + 0x03=不可转转帐汇票,0x04=查复书业务,0x05=划款业务) + Date: 签票日期(例如:"19990101") + SerialNo: 汇票号码(8位"12345678",或16位”1234567812345678”) + Amount: 金额 (单位为分,不含小数点,不足15位前补'0') + SendNode: 签发网点号,(例如:"000000123456") 不足12位前补'0' + RecvNode: 兑付网点号,若无则全填'0' + (划款业务时必须为”904290099992”) + OtherInfo: 前四个字节为查复书编号,其余全填0x00,若无则全填0x00 + (例如“12345678”压缩成四个字节为0x12,0x34,0x56,0x78 + 不足8位前补零,例如“12345”压缩成四个字节为0x00,0x01,0x23,0x45) + CipherValue:密押 + 编押时,出口值为计算出的密押 + 核押时,入口值为需核验的密押 + My_IPAdress1: IP地址1 + My_IPAdress2: IP地址2 + TimeOut: 超时时间 + 编押时,通过类的函数接口:getCipherValue() 返回一个String的字符串。 + 核押时,入口值为需核验的密押 + + 函数返回值: + 0: 表示处理正常,编押时密押在CipherValue字段返回,核押表示密押核验正确 . + >0:密押系统正常,但要素或密押中含有非法值,或者密押错误,通讯错误等 . + 错误代码: + 9001 联机错误 + 9002 发送错误 + 9003 接收错误 + 9004 编押错误 + 9005 核押错误 + 9006 核对签名错误 + 9007 发报行标识错误 + 9008 收报行标识错误 + 9009 加密卡处理异常 + 9010 数据报文错误 + 9011 网络通信超时 + 9012 发报行无编押权限 + 9013 密钥不存在 + 9014 兑付行号错误,当业务为划款业务时,如果兑付行号不为904290099992时返回该错误 + 9015 密钥过期 + 9016 金额格式错误 + + */ + + //编押:返回值为0,说明编押正常,且可以通过getCipherValue()获得密押。 + +/* int TransactType =3; + char YwType =(char)0x02; + String Date = "20151020"; + String SerialNo = "9040004122999001"; + String Amount = "000000000550000"; + String SendNode = "213162000019"; + String RecvNode = "000000000000"; + String OtherInfo = "0x00"; + String CipherValue = "0740128292"; + String My_IPAdress1 = "192.168.1.10"; + String My_IPAdress2 = "172.16.8.113";*/ + int TransactType =0; + char YwType =(char)0x2; + String Date = "20251110"; + String SerialNo = "10300200202511100000731236"; + String Amount = "600000"; + String SendNode = "1022401021000880495"; + String RecvNode = ""; + String OtherInfo = ""; + String CipherValue = ""; + String My_IPAdress1 = "172.1.40.161"; + String My_IPAdress2 = "172.1.40.161"; + int TimeOut = 100; + /*if(TransactType%2 == 1) + { + CipherValue = "3979564876";//核押需要输入 + }*/ + /*if(OtherInfo.length()>=8){ + char[] hex1=getSerialNo(OtherInfo); + System.out.println(hex1); + String ssss = ""; + for(int i=0;i<4;i++){ + ssss=ssss+hex1[i]; + } + OtherInfo=ssss; + }*///查复书时压缩字符串 + + /* for(int i =0 ;i + + + + + + + + + + \ No newline at end of file diff --git a/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/DraftEncrypt.java b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/DraftEncrypt.java new file mode 100644 index 0000000..8cb4791 --- /dev/null +++ b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/DraftEncrypt.java @@ -0,0 +1,547 @@ +package com.sunyard.encrypt; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ConnectException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.util.Properties; + +//#define ERR_CONNECT 9001 /**/ +//#define ERR_SEND 9002 /*ʹ*/ +//#define ERR_RECV 9003 /*մ*/ +//#define ERR_CAL 9004 /*Ѻ*/ +//#define ERR_CHECK 9005 /*Ѻ*/ +//#define ERR_SIGN 9006 /*˶ǩ*/ +//#define ERR_SENDER 9007 /*бʶ*/ +//#define ERR_RECEIVER 9008 /*ձбʶ*/ +//#define ERR_EXCEPTION 9009 /*ܿ쳣*/ +//#define ERR_DATA 9010 /*ݱĴ*/ +//#define ERR_TIMEOUT 9011 /*ͨųʱ*/ +//#define ERR_PURVIEW 9012 /*ޱѺȨ*/ + +public class DraftEncrypt { + String ServerName1; /*Ѻַ1*/ + String ServerName2; /*Ѻַ2*/ + Socket sock_check; + int m_TimeOut; + int m_MyLoopNum; + int m_MyLoopFlag; + int m_port = 8889; + String m_CipherValue; + + public DraftEncrypt() throws IOException { + sock_check = null; + m_TimeOut=10; + m_MyLoopNum=0; + m_MyLoopFlag=0; + m_CipherValue = null; + m_port = 8889; + } + + public String getCipherValue() { + return m_CipherValue; + } + + public void setCipherValue(String cipherValue) { + m_CipherValue = cipherValue; + } + + public String config(String appName) { + InputStream is = this.getClass().getClassLoader().getResourceAsStream( + "config.ini"); + Properties p = new Properties(); + try { + p.load(is); + } catch (IOException e) { + e.printStackTrace(); + } + + return p.getProperty(appName); + } + public void CloseConnect_MY() throws IOException + { + if(sock_check!=null) { + //System.out.println("sock:"+sock_check); + sock_check.shutdownOutput(); + sock_check.close(); + sock_check = null; + } + if(m_MyLoopFlag==0) + m_MyLoopFlag=1; + else + m_MyLoopFlag=0; + } + + public int DraftEncrypt(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode, String RecvNode, String OtherInfo,String CipherValue,String My_IPAdress1,String My_IPAdress2,int TimeOut) throws IOException + { + SetParamAll(My_IPAdress1,My_IPAdress2,TimeOut); +// System.out.println("in DraftEncrypt, hello!!!"); +// m_CipherValue = "1234567890"; +// return 0; + return DraftEncrypt1(TransactType,YwType,Date,SerialNo,Amount,SendNode,RecvNode,OtherInfo,CipherValue); + } + + public int DraftEncrypt1(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode,String RecvNode,String OtherInfo,String CipherValue) throws IOException + { + int ret_code ; + + ret_code = CipherTransact(TransactType, YwType, Date, SerialNo, Amount, SendNode, RecvNode, OtherInfo, CipherValue); + if((ret_code == 9001) || (ret_code == 9002) || (ret_code == 9003) + || (ret_code == 9011) || (ret_code == 9009)) + { + CloseConnect_MY(); +// һѺͨѶԶõڶѺIPַ + ret_code = CipherTransact(TransactType, YwType, Date, SerialNo, Amount, SendNode, RecvNode, OtherInfo, CipherValue); + return ret_code; + } + else + { + return ret_code; + } + } + + public int SetParamAll(String My_IPAdress1,String My_IPAdress2,int TimeOut) + { + int ret; + + ret=My_IPAdress1.length(); + if(ret>99) + return -1; + ServerName1=My_IPAdress1; + + ret=My_IPAdress2.length(); + if(ret>99) + return -2; + ServerName2=My_IPAdress2; + + if(TimeOut<2) + m_TimeOut=2; + else if(TimeOut>120) + m_TimeOut=120; + else + m_TimeOut=TimeOut; + return 0; + } + private static char[] enlargechar(char[] summand, String addend, int from) { + int len = addend.length(); + for (int i = 0; i < len; i++) { + summand[from + i] = addend.charAt(i); + } + return summand; + } + + public Socket testIP(String ip, int port) throws NumberFormatException, UnknownHostException, IOException { + SocketAddress ipt; + Socket socket1; + + try { + System.out.print("IP:"+ip+" port:"+port); + ipt = new InetSocketAddress(ip, port); + socket1 = new Socket(); + socket1.connect(ipt, 1000); + if (socket1.isClosed() == false && socket1.isConnected() == true) + return socket1; + } catch (ConnectException e) { + System.out.println("ע⣺"+ip+ "쳣"); + } catch (SocketTimeoutException e) { + System.out.println("ע⣺"+ip+ "Socketӳʱ쳣"); + } + return null; + } + + public BufferedOutputStream getBufferedWriter(Socket socket) throws IOException { + OutputStream out = socket.getOutputStream(); + BufferedOutputStream writer = new BufferedOutputStream(out); + return writer; + } + public BufferedInputStream getBufferedRead(Socket socket) throws IOException { + InputStream in = socket.getInputStream(); + BufferedInputStream reader = new BufferedInputStream(in); + return reader; + } + private byte[] getBytes (char[] chars) { + Charset cs = Charset.forName ("UTF-8"); + CharBuffer cb = CharBuffer.allocate (chars.length); + cb.put (chars); + cb.flip (); + ByteBuffer bb = cs.encode (cb); + return bb.array(); + } + private char[] getChars (byte[] bytes) { + Charset cs = Charset.forName ("UTF-8"); + ByteBuffer bb = ByteBuffer.allocate (bytes.length); + bb.put (bytes); + bb.flip (); + CharBuffer cb = cs.decode (bb); + return cb.array(); + } + + private char[] getSerialNo(String s){ + char hex[] =new char[8]; + char ch ; + for(int i=0;i='0'&&ch<='9'){ + ch-='0'; + } + if(ch>='A'&&ch<='F'){ + ch=(char) (ch-'A'); + ch=(char) (ch+10); + } + if(i%2==0) + { + hex[i/2]=(char) (ch<<4); + } + else + { + hex[i/2]=(char) (hex[i/2]|ch); + } + + } + return hex; + } + public int CipherTransact(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode,String RecvNode,String OtherInfo,String CipherValue) throws NumberFormatException, UnknownHostException, IOException + { +// unsigned char Send_Data[2000],Recv_Data[2000]; + char Send_Data[] = new char[180]; + char Recv_Data[] = new char[2000]; + + String temp; + int Len_No,Len_Send; +// int i; +// unsigned int my_value; + //Package +// memset(Send_Data,0x00,180); + int s =0; + + + + + + + for (int j = 0; j < Send_Data.length; j++) { + Send_Data[j] = 0x00; + } +// memcpy(Send_Data,"SYD",3); + Send_Data[0]='S'; + Send_Data[1]='Y'; + Send_Data[2]='D'; + + Send_Data[3]=1; + Send_Data[4]=(char)(m_MyLoopNum/256); + Send_Data[5]=(char)(m_MyLoopNum%256); + m_MyLoopNum=(m_MyLoopNum+1)%65536; + + Send_Data[6]=0; + Send_Data[7]=124+32+5; + + if(SerialNo.length()==16){ + s =18000+TransactType; + char[] hex=getSerialNo(SerialNo); + String ss = ""; + for(int i=0;i12) +// Len_No=12; +// memcpy(Send_Data+8+32+37+(12-Len_No),SendNode,Len_No); + Len_No = SendNode.length(); + if(Len_No>12){ + Len_No=12; + SendNode = SendNode.substring(0,12); + } + Send_Data = enlargechar(Send_Data, SendNode, 77+(12-Len_No)); + +// Len_No=strlen(RecvNode); +// if(Len_No>12) +// Len_No=12; +// memcpy(Send_Data+8+32+49+(12-Len_No),RecvNode,Len_No); + Len_No = RecvNode.length(); + if(Len_No>12){ + Len_No=12; + RecvNode = RecvNode.substring(0,12); + } + Send_Data = enlargechar(Send_Data, RecvNode, 89+(12-Len_No)); + +// memcpy(Send_Data+8+32+61,OtherInfo,60); + //ding + + +// if(SerialNo.length()==16){ +// s =18000+TransactType; +// char[] hex=getSerialNo(SerialNo); +// String ss = ""; +// for(int i=0;i='0'&&ch<='9'){ + ch-='0'; + } + if(ch>='A'&&ch<='F'){ + ch=(char) (ch-'A'); + ch=(char) (ch+10); + } + if(i%2==0) + { + hex[i/2]=(char) (ch<<4); + } + else + { + hex[i/2]=(char) (hex[i/2]|ch); + } + + } + return hex; + }//ѹַ + + public static void main(String[] args) throws IOException { + // TODO Auto-generated method stub + /***************************************************************************** + DraftEncrypt:Ѻ + int DraftEncrypt(int TransactType,char YwType,String Date,String SerialNo, + String Amount,String SendNode, String RecvNode, String OtherInfo,String CipherValue, + String My_IPAdress1,String My_IPAdress2,int TimeOut) + ˵ + TransactType͡2kѺ 2k+1Ѻ + (k = 0,ֻһԿѺI) + kΪ0k9,10ԿͣѺII) + YwType ҵ(0x01,0x02,0x03,0x04,0x05) + (0x01=ֽƱ,0x02=תתʻƱ, + 0x03=תתʻƱ,0x04=鸴ҵ,0x05=ҵ) + Date ǩƱ(磺"19990101") + SerialNo Ʊ(8λ"12345678"16λ1234567812345678) + Amount (λΪ,С,15λǰ'0') + SendNode ǩţ(磺"000000123456") 12λǰ'0' + RecvNode Ҹţȫ'0' + ҵʱΪ904290099992 + OtherInfo ǰĸֽΪ鸴ţȫ0x00ȫ0x00 + 硰12345678ѹĸֽΪ0x12,0x34,0x56,0x78 + 8λǰ㣬硰12345ѹĸֽΪ0x00,0x01,0x23,0x45 + CipherValueѺ + ѺʱֵΪѺ + ѺʱֵΪѺ + My_IPAdress1: IPַ1 + My_IPAdress2: IPַ2 + TimeOut ʱʱ + ѺʱͨĺӿڣgetCipherValue() һStringַ + ѺʱֵΪѺ + + ֵ + 0 ʾѺʱѺCipherValueֶηأѺʾѺȷ . + >0ѺϵͳҪػѺкзǷֵѺͨѶ . + 룺 + 9001 + 9002 ʹ + 9003 մ + 9004 Ѻ + 9005 Ѻ + 9006 ˶ǩ + 9007 бʶ + 9008 ձбʶ + 9009 ܿ쳣 + 9010 ݱĴ + 9011 ͨųʱ + 9012 ޱѺȨ + 9013 Կ + 9014 ҸкŴ,ҵΪҵʱҸкŲΪ904290099992ʱظô + 9015 Կ + 9016 ʽ + + */ + + //ѺֵΪ0˵ѺҿͨgetCipherValue()Ѻ + + int TransactType =3; + char YwType =(char)0x04; + String Date = "20020422"; + String SerialNo = "9934567812345678"; + String Amount = "000000000000100"; + String SendNode = "001420100008"; + String RecvNode = "001420101021"; + String OtherInfo = "99999999"; + String CipherValue = "0000000000"; + String My_IPAdress1 = "172.16.8.113"; + String My_IPAdress2 = "172.16.8.113"; + int TimeOut = 100; + if(TransactType%2 == 1) + { + CipherValue = "3979564876";//ѺҪ + } + if(OtherInfo.length()>=8){ + char[] hex1=getSerialNo(OtherInfo); + String ssss = ""; + for(int i=0;i<4;i++){ + ssss=ssss+hex1[i]; + } + OtherInfo=ssss; + }//鸴ʱѹַ + DraftEncrypt de = new DraftEncrypt(); + int ret = de.DraftEncrypt(TransactType,YwType,Date,SerialNo,Amount, + SendNode, RecvNode,OtherInfo,CipherValue,My_IPAdress1,My_IPAdress2,TimeOut); + /*int ret = de.DraftEncrypt(0, (char) 0x04, "20020422", "9934567812345678", "00000000.0000100", + "001420100008", "001420101021", "99999999", "2448307857",//һַ + "172.16.8.113", "172.16.8.113", 100);*/ + if(TransactType%2 == 0) + { + CipherValue = de.getCipherValue();//ֻбѺʱҪ + } + //ѺֵΪ0,˵ֵͨ˵ +/* DraftEncrypt de = new DraftEncrypt(); + int ret = de.DraftEncrypt(0, (char) 0x01, "20020422", "10000000", "000000000000100", + "001420100008", "001420101021", "", "096711466", + "192.168.1.212", "192.168.1.212", 100); +*/ + + switch(ret){ + case 0: + if(TransactType%2 == 0) + System.out.println("ѺѺǣ"+CipherValue); + else + System.out.println("Ѻ"); + break; + case 9001: + System.out.println(""); + break; + case 9002: + System.out.println("ʹ"); + break; + case 9003: + System.out.println("մ "); + break; + case 9004: + System.out.println("Ѻ"); + break; + case 9005: + System.out.println("Ѻ"); + break; + case 9006: + System.out.println("˶ǩ"); + break; + case 9007: + System.out.println("бʶ"); + break; + case 9008: + System.out.println("ձбʶ"); + break; + case 9009: + System.out.println("ܿ쳣"); + break; + case 9010: + System.out.println("ݱĴ"); + break; + case 9011: + System.out.println("ͨųʱ"); + break; + case 9012: + System.out.println("ޱѺȨ"); + break; + case 9013: + System.out.println("Կ"); + break; + case 9014: + System.out.println("ҸкŴ"); + break; + case 9015: + System.out.println("Կ"); + break; + case 9016: + System.out.println("ʽ"); + break; + } + + } + +} diff --git a/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/城市商业银行密押系统应用程序接口说明(java版).doc b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/城市商业银行密押系统应用程序接口说明(java版).doc new file mode 100644 index 0000000000000000000000000000000000000000..9823cde7079d136669826a29ceec65524b984747 GIT binary patch literal 79360 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 G!2bc9tk%;2 literal 0 HcmV?d00001 diff --git a/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/城市商业银行密押系统应用程序接口说明(java版).pdf b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.00/城市商业银行密押系统应用程序接口说明(java版).pdf new file mode 100644 index 0000000000000000000000000000000000000000..430a172bdbfed6dc15d40a74866224e1378fbbec GIT binary patch literal 67995 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

HyNcXuXt06OS6Y9RkKvlUi0Y<7#WX-WPtI2x_? zMLvH8$Eod|2od2bx@!N?5`1C*QT%MW>AW5u@?*f^0q1#|UVkjoPclk*`VlUYpD%LI z3-LVQw=}?fKlt}(VrT8B$o76D^K?d?`I%k2-))vw9rq7*(ZP#N;wJeSQryvfv)u0G z;dm$f*xBoqcY;)0<;n^)(y+5L=c42jT-KJ+$Sa#9{OKmJNaDCbvqR(%DT=a^mFEPw8Uab}{2A{7os0E^{61 zF{SdEE~xs^s?_gxq7Up*sY^-pZVME02L-a}aIt1qKP+tU2~>)l+od&UCFl*m)mv;u zeG7`sHh@Cn#Xq5iohb&>H=S>OkcYwTL4_MU4#Qp{=%#M3)$#6@&Mbofr6a1R3eCiq z?})T-DO{a&y+wgIqGr_QRE79t0NUp}3<@j`4II#-zBZ%>-?&#gx@I!71z^3WY0K)0 zMHCP86H@xdT_xdk(c)CcPJA{~a0E5VJGQKY148o&DL3Vx%ewGtktKpJm+b0F_CV>4 zP}a@PSWg8zh%IEEnGUY$K4%E4AaJ+ENDxMYrfx&edC3_Vy8EEopj5a8aG+1F*nBNq zy^GigG);F?c+DIG?nS3;Y?)0B2ykmSyTHoQ|0EXhxa*tR`MS!oV*unYz9K`8WH3p2 z32^Xh;i@51TIA9qhRNrC()sNY5)65u0Qpq|q#3>BLO#9$b5Kbw);phwWJ>%@=6TSL zH|CVO>T!K!c5m2#2u^Sh&ge)XXdkng>b7CmPWFo2n zzZz3|$QXOZtI}*GKR8<*K^C!Z2>uwMgXJbxC~+v^9c+}2rNwzTN{M~3fqV@w)x=>> z*-3$Jz$@XBl{7gMZ`HgZlZ`}JNiH{Oywbt5*PL-WM58ylAzUB}GI-bawmGm|>hz*X zJh7rVb_jF?a%>^y<*slQ`XoDpIC1{xKs^k3_Z7M)0!w>9_*%0|?|fCBM|@&RxNxDN z$nu~c5#yF~2@XQlNTjlQ4z@21*Y_k7qu+8|aY3bwI^2~$72%^du#80Tm#dP4I-_SM z4PsT)45K?S39?x}a#*QVLIU@wF)F8Gv31U$m1@u!3S$--1pXCcRBRd8RBwFAS>sXA zO5M0c|Ii!2<#C!i?_MTRIx#iW{`=zXN=u@g0@(~5;8P3K?d7c zpqdQ=E)$Wo=PeuP`0a4#IlyNV*2Ix2T@DPIo&c}>YNZ?0zV{^N+=Z&I6aq|bQ_EM9>ZJ?%URH!{GP<0X*g}l)zpXOt&UV z9Qd(YCe~MzrNNycY7WXa9QCjGLe;jDzQOYZLr($2u#cJ4Z+i%Og;bBtIW?)-wPMoK znuyE4rOc2PDqqAv{H}7WG-|hKcX4S84J1=GlGm-q9-}~3E`8=Kn!`-)o zhiF*tyntNN9G5ZD?-=&=t@^WG#!^2V*k38rr{c!+g`LY><;#QyegJzZU`puY$Qv_n z?(Beswo-R(O9$&OZfWUoUlj})ktU#Q+Z?Y*OPe*8=h4-P>h2j?qpxV@t?6Ca*FiB7 z>K~c_YZhVQsv+=S&lx_HxrayZJMb2hxk3(tT4buyovgBL!JL0ic_s*Ed{(>}I7;+T-;-DL^FVuvWBOT3gd8erN-z>`r1fMI04tuzp_bB?&Dy zB!`DJwV+aF<-pcS+`vtCYt5)ORYV18UE3lo=(_Z752!khex#(JLBVByYZuz(tSV}R z`uao+2wGLXJRn#jXEia{XgoM1np#5MSUVM!<=Td?TDJ?+(qeKd#mNKXof^+aEJU`t zK}O#1&c$(KH3-i$>uqHj-G%&8Rg$dJ*--?eET}ANJZZK-=deACsBYD$T#zLizlQHN zL`%Ww#Gn2#N5NN8JB)duDEDMWZ_?+WiG$)71;dPQ9q>hJQ^b0d;0Jf$tN zgLEvKnA5?AP~Z=1oQ{_-XA`Wv1na-r zSpY0o6Ds>~+fELpc+r=|PZbxEC-|Qi5c=_*J+zXwO&yj8f@^h)xeM~Cm&J5{ehb>j z1l1_ax~lWwGdyY6Tnae6Iah3GQAL2}dkh+^Wes7!!M-8gpu2Q#S5uvICjU0*C}AB< zb#^X3oG5=VDMseAM|=_Zl*>)e>r8=w3r~F~^c%c>==`wvmk7GrOi$ePR12^GH}haL z^B_VjmS`Ju!jl*NRf!urFQLAO1P{CL8zYdz<@^42pA>X;K90UrwhL9B_iiI{LGZTt zxh0px^TP0hYMIu-SCq>0IZdWlHc^0XLl99>_Bgmf>Gj~W3*;Y=cu`?wP*#j4_;^)e z3?Ga9$WnVL@)-chr{1d2)~xHz~TQnwCs?^jYS#t_!Bz4uoBoKX(rM3P$Gz zCv~{TB6kGQ8$buNRpdw?dhoryNJ#CGSPO_vNt|?3E~_6!>w(VL zA|snHxX(%yaz?zaq$FF&Kz|Yj`e|uc>sVHHjd+}l5)u}6Lc_)r?0}296ViRQ@m(LL zy%@>2r~^+fQv=J`#QW)4Izs&Ob% zTcnm!-W|$Od@M6Df#$h2LUQM$c|&N2rHhNYyFPA9M~ByksawA_4lh1uE1^p5Y6+R@ zq^_v+xn%UrHtH~I`#q+GH|ua9g43Gy^RtW3M;EBs9FLAnqiNEi!8OgN;B>&PP&$){Zm z>o&bPnp14<{kw|pnvSy}d0zm&KnVOJ%Y@yiR+`0{v`*?5OP?8)u2#A{o;MG+jkZ@j z)8!UemS!5Sy zX~Hv%8ZDKaoiW+*8-D3zCjRQUP~-6(gCGrqFm^-G^WL!EJ#g8dlv6vSC9Aj-rNaAV zrdAM|_i{>O1^Ie|rIj+nV-`2`1mA&z=dw7J>d{lEBS$nNXLci4L}RNqt0%6ux8BT8 z(9BPgws#{W(G0t_#KUQIrfih-K`gHexl=gskoj}=?a%nm>bBgYNbqb?Rj}(crN4MR zq0K?;e@7>rT^`Ui{J4z2wdUBi92dA6kKy}YwAl`l(<|7vFuEAT( z{m<;pyBzK56Tl$-+SDeAXC%{Lt$Vxd&O@JRFS%TEO+5Yd`Gwv$p`!022YlUI@W$K4 zrk|{L)RO=GtFE>=4%$ef8Vs`B4Pt8Sh2X}WAE2o{{!{h{aZtl>#LGsM?{V|n?%^^zfHPyk>J6hLZE)`1r^%LT)xhOlR|EEDuDQzQw zQYJ8R-q}K(2<4>83~G9xkwt;NT_`y)RNKDPT{yba8NQ1JeO#K7~ka#d&}0f*)59e!DeedLm6E zE3}7x!oyh7+LnlPKlT8sSUU5n=Jsvu_=cV+D8m#dci8mBRxsh*lh+?n+Fwut8$@SF z-iM|2o`T?b;-)LBc0cCBt|#&Opz;;8Cxv(q-;>KfJa=dPMbd{)DDL_Cg;8+m`NrFa z$$v?N6Cp8mAZBIiAD?eZhZ4O^&sb7IE2^TlFq|0C-O;Y-9j$G^OLWX8tf4t|Z)PuV-p zzxYq4;k?(2`DTCZ3GPQl&Q$N*{fqk>v!6Wiu>bPt-MSYn@#4fQVRsPnx#|nk8^52X zVc*v*)1Lns-wSv*;H$W|kNB+jFz#Xd-k$*Jb9MJfkpTV0pFs6RRTA9)NNYNmuV$Bt zV8uDkv{fS3K8DbLo_%yZ!#*uzu#SB&t%4`!G-JYYZexUY%CyOfM?&o$58JAJ&>eP%SdLoD}0_A7XtNfL~t3m z!GOd~=KmIwbmF_=*4`2=3KNZU8XQ67$@Roa+!;(}jAX0XiDvD4M0OsI1Q9#Q?Ts#G zhpc#@E~!!Ct@?}~k1oXwBeF{`sbgh~-*zF}bU)Z-37=Ky^@NOj2nhu`{ed0D5$qF! zcp!gWs!ByZ&7DW5R_y-B`9u|hrB2;09kb?)6Uu|Nj`O+nv_2@^q4Qkx-nq8gIkfpI z0UE`98!LS@+O`Pb5~~eBI8`s!f z+Ar6t%yY66(Q(l0hfef|D&NVioZT(?`2n8-@1r;m`*2Vl|HNY+>B67X-+OQzcQz-h zE*ZSt(@R*k4s&_Y#AkPe{UXlM%j>!&xrm7|H#E=tPAgx_9xqH0n6ge7MxakI+Ytlx z9=$6Fjr67AxgDtHg5u82xt1MPO zLZQ93Hd`TVVJSGTT1Uft(@pB8G-j2QZt1I}&S=WvMqT>U2V%`>VUtiP`~%p*$iZu` zS%6k&*Q=}jB3~?icMLjc@he6c)PU-mM7BqV-bTH+5fD2l*(|^@k;7Z=4mY%e!wH!> zLxFL33l>WMYF+N)u8f*z?d_8y;FpLus*}5LY+!IoO~<`!;E2&EdA-xzFW@B^WVaK3%E>f|`Sb%qF@|Mw(Grhn$>vXANz06p6-%Mv&-IBn# zQd5-KRA~utL)^^Qm*s16m=D&QL?H`tJx9#^$3+M!P^_mLd75}JYnUA#!IYy!+fLH1ls7|pO$GaFYK^d%p?u=e>`1gaCo>>gLXK@HDt`Da7W-wek zFPF|~^UsmIzJY#9Ha~$`EIY30JyaCb(~EBs+?zGT7*fC0XHrwog2Y~4_6sI2m8ah4u^7w<k-@=1HXt$>)=e%v7)glN2k2b6R6FrZWYcOm9?;g7 z>8Y!C>xk3rUu503WvTsy(*n|twMIF~SZ5_4awu3J<~m^}^CMWOtIZ*%R*q}yYhP9z z#8w{eW!$M~E}f}pmIKz?i;Hw*WN4h!skOej|Gi@T~)q{<2Ezxvtj3KD5?9FH^4*CwcDW(%(M4Z#^@{ln3+NH@zlTh^DA9 zh~Dmcomw4xacm{XA^iMtkp+qP(o@xEx8YwSVwHe5rEvj*&a4j~`tZH7Z@gWN7(gw07Z06=RM!-bbCm+2lq7ofImToK1gAo)VqfHzoRk;snWUj` zA;MlSD!;eIrmW#~QSeCgRLU>~N~kzR1b0QnP;PNHXZg^>3iMzE?~g^LkHNzI($0NT z$!IpQ;(WFh^wOH2#(UZO3$jnDf_|OuJ}yRgv+dsQ;glw$XxAfZb(!>DCw-m4&kj$2 zR;af5s`o~#>~+#FI$f@h%3qcmZv*LQ{RaN-dR@ol9430q{A!BSG$%kfjO-jm2R~LP zC^$N}-5P_xrh*#XGZm1QZ=qn=7(q%Ekks5GnlffUnd_Q6szE{L_dO0IXR(_tfOs?} zR;WFPaf2!dqn};-^`zJ#|9qvW;;fqFx(9nvY&}v{P;Y!h@Xe}sOVZm~<55e1N zM>PqIp{705GA=0yxqyS4fu6dI>8YAQ3O-v@Ls~dP$dG5Xb)VHXal+92 zGrxyWQdL~|CjxwUiJ!95rlWz^aS3uj%!o}n@)dbv3s%f6iifPs_Tm2mY}Eflcp#A3~dW~;o6hggQ!n>Q8dB5 z)hz&er$;jGftm39gsl(y)t#b=riuEBK7&#jkr}x(gtcc~@Z&}E29`6Xz__&gCxkBH z5l+kKO)ySQZ?y9Csv+}&n$@heG%}7$XpugYKIJJLls@&TB4P&VsZ9|V5&7YEKltDb-Sti= zw8y3}rEbK^A68ZN$&g6q%>ubvg_2)>ltZ9NJMxt0(pAGWwv_gV;>|mDl-nSmfyg&Z zS=gKik>YJ6cQ^T3v9fzKdRWD6WO^@Bi#w+EP@2O~dgwEI9hL)#^@zO~Gy9q*TqYu; z5tgH+WFfj_K`gg$_5jVFnlAfnw@`xE-7hgGqu3@Oy_mviJ`1G{4YS9E0SB(boKclamE+JcS9PZGsGp%$%N024sSLx=lY0d+jY| zgBR$Fs|x_Ax+88R6E5IRB{&`QkiH@~#oW)t$E&Qj4i5~umk z{rMu?7SJFdBnbbsY)~)^kpGBY{;gK|NA&Vv?f)f#`FEColr8@T1^*~p{$s{}-TyzG t%fEB}11J9d>VM$Gf9(5TdCmVV=YPP3k}M?DKlj1^j-$WpJ=s6e{{Yb_p;Z6? literal 0 HcmV?d00001 diff --git a/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/DraftEncrypt.java b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/DraftEncrypt.java new file mode 100644 index 0000000..7e79d9b --- /dev/null +++ b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/DraftEncrypt.java @@ -0,0 +1,655 @@ +package com.sunyard.encrypt; + +import java.io.BufferedInputStream; +import java.io.BufferedOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.ConnectException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketAddress; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.charset.Charset; +import java.util.Properties; + +//#define ERR_CONNECT 9001 /*联机错误*/ +//#define ERR_SEND 9002 /*发送错误*/ +//#define ERR_RECV 9003 /*接收错误*/ +//#define ERR_CAL 9004 /*加押错误*/ +//#define ERR_CHECK 9005 /*核押错误*/ +//#define ERR_SIGN 9006 /*核对签名错误*/ +//#define ERR_SENDER 9007 /*发报行标识错误*/ +//#define ERR_RECEIVER 9008 /*收报行标识错误*/ +//#define ERR_EXCEPTION 9009 /*加密卡处理异常*/ +//#define ERR_DATA 9010 /*数据报文错误*/ +//#define ERR_TIMEOUT 9011 /*网络通信超时*/ +//#define ERR_PURVIEW 9012 /*发报行无编押权限*/ + +public class DraftEncrypt { + String ServerName1; /*密押服务器地址1*/ + String ServerName2; /*密押服务器地址2*/ + Socket sock_check; + int m_TimeOut; + int m_MyLoopNum; + int m_MyLoopFlag; + int m_port = 8889; + String m_CipherValue; + + public DraftEncrypt() throws IOException { + sock_check = null; + m_TimeOut=10; + m_MyLoopNum=0; + m_MyLoopFlag=0; + m_CipherValue = null; + m_port = 8889; + } + + public String getCipherValue() { + return m_CipherValue; + } + + public void setCipherValue(String cipherValue) { + m_CipherValue = cipherValue; + } + + public String config(String appName) { + InputStream is = this.getClass().getClassLoader().getResourceAsStream( + "config.ini"); + Properties p = new Properties(); + try { + p.load(is); + } catch (IOException e) { + e.printStackTrace(); + } + + return p.getProperty(appName); + } + public void CloseConnect_MY() throws IOException + { + if(sock_check!=null) { + //System.out.println("sock:"+sock_check); + sock_check.shutdownOutput(); + sock_check.close(); + sock_check = null; + } + if(m_MyLoopFlag==0) + m_MyLoopFlag=1; + else + m_MyLoopFlag=0; + } + + public int DraftEncrypt(int TransactType,char YwType, + String Date,String SerialNo,String Amount, + String SendNode, String RecvNode, String OtherInfo, + String CipherValue,String My_IPAdress1, + String My_IPAdress2,int TimeOut) throws IOException + { + + int len = OtherInfo.length(); + if(len<8){ + OtherInfo = addZero(OtherInfo, 8); + }else{ + if(len%2 == 1){ + len+=1; + } + OtherInfo = addZero(OtherInfo, len); + } + /*char[] byteOther = getSerialNo(OtherInfo); + for(int i =0 ;i=8){ + char[] hex1=getSerialNo(OtherInfo); + System.out.println(hex1); + String ssss = ""; + for(int i=0;i<4;i++){ + ssss=ssss+hex1[i]; + } + OtherInfo=ssss; + } + System.out.println(BytesToString(OtherInfo.getBytes())+OtherInfo.length()); + int y =OtherInfo.charAt(0); + char a = 0x88; + byte a1 = (byte) a; + int a2 = a; + System.out.println(y); + + SetParamAll(My_IPAdress1,My_IPAdress2,TimeOut); +// System.out.println("in DraftEncrypt, hello!!!"); +// m_CipherValue = "1234567890"; +// return 0; + return DraftEncrypt1(TransactType,YwType,Date,SerialNo,Amount,SendNode,RecvNode,OtherInfo,CipherValue); + } + + public int DraftEncrypt1(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode,String RecvNode,String OtherInfo,String CipherValue) throws IOException + { + int ret_code ; + + ret_code = CipherTransact(TransactType, YwType, Date, SerialNo, Amount, SendNode, RecvNode, OtherInfo, CipherValue); + if((ret_code == 9001) || (ret_code == 9002) || (ret_code == 9003) + || (ret_code == 9011) || (ret_code == 9009)) + { + CloseConnect_MY(); +// 如 果第一个密押服务器通讯错误,则自动用第二个密押服务器的IP地址 + ret_code = CipherTransact(TransactType, YwType, Date, SerialNo, Amount, SendNode, RecvNode, OtherInfo, CipherValue); + return ret_code; + } + else + { + return ret_code; + } + } + + public int SetParamAll(String My_IPAdress1,String My_IPAdress2,int TimeOut) + { + int ret; + + ret=My_IPAdress1.length(); + if(ret>99) + return -1; + ServerName1=My_IPAdress1; + + ret=My_IPAdress2.length(); + if(ret>99) + return -2; + ServerName2=My_IPAdress2; + + if(TimeOut<2) + m_TimeOut=2; + else if(TimeOut>120) + m_TimeOut=120; + else + m_TimeOut=TimeOut; + return 0; + } + private static char[] enlargechar(char[] summand, String addend, int from) { + int len = addend.length(); + for (int i = 0; i < len; i++) { + summand[from + i] = addend.charAt(i); + } + return summand; + } + + public Socket testIP(String ip, int port) throws NumberFormatException, UnknownHostException, IOException { + SocketAddress ipt; + Socket socket1; + + try { + System.out.print("IP:"+ip+" port:"+port); + ipt = new InetSocketAddress(ip, port); + socket1 = new Socket(); + socket1.connect(ipt, 1000); + if (socket1.isClosed() == false && socket1.isConnected() == true) + return socket1; + } catch (ConnectException e) { + System.out.println("注意:"+ip+ "连接异常!"); + } catch (SocketTimeoutException e) { + System.out.println("注意:"+ip+ "Socket连接超时异常!"); + } + return null; + } + + public BufferedOutputStream getBufferedWriter(Socket socket) throws IOException { + OutputStream out = socket.getOutputStream(); + BufferedOutputStream writer = new BufferedOutputStream(out); + return writer; + } + public BufferedInputStream getBufferedRead(Socket socket) throws IOException { + InputStream in = socket.getInputStream(); + BufferedInputStream reader = new BufferedInputStream(in); + return reader; + } + private byte[] getBytes (char[] chars) { + Charset cs = Charset.forName ("UTF-8"); + CharBuffer cb = CharBuffer.allocate (chars.length); + cb.put (chars); + cb.flip (); + ByteBuffer bb = cs.encode (cb); + return bb.array(); + } + private char[] getChars (byte[] bytes) { + Charset cs = Charset.forName ("UTF-8"); + ByteBuffer bb = ByteBuffer.allocate (bytes.length); + bb.put (bytes); + bb.flip (); + CharBuffer cb = cs.decode (bb); + return cb.array(); + } + + private char[] getSerialNo(String s){ + char hex[] =new char[8]; + char ch ; + for(int i=0;i='0'&&ch<='9'){ + ch-='0'; + } + if(ch>='A'&&ch<='F'){ + ch=(char) (ch-'A'); + ch=(char) (ch+10); + } + if(i%2==0) + { + hex[i/2]=(char) (ch<<4); + } + else + { + hex[i/2]=(char) (hex[i/2]|ch); + } + + } + return hex; + } + public int CipherTransact(int TransactType,char YwType,String Date,String SerialNo,String Amount,String SendNode,String RecvNode,String OtherInfo,String CipherValue) throws NumberFormatException, UnknownHostException, IOException + { +// unsigned char Send_Data[2000],Recv_Data[2000]; + char Send_Data[] = new char[180]; + char Recv_Data[] = new char[2000]; + + String temp; + int Len_No,Len_Send; +// int i; +// unsigned int my_value; + //Package +// memset(Send_Data,0x00,180); + int s =0; + + + + + + + for (int j = 0; j < Send_Data.length; j++) { + Send_Data[j] = 0x00; + } +// memcpy(Send_Data,"SYD",3); + Send_Data[0]='S'; + Send_Data[1]='Y'; + Send_Data[2]='D'; + + Send_Data[3]=1; + Send_Data[4]=(char)(m_MyLoopNum/256); + Send_Data[5]=(char)(m_MyLoopNum%256); + m_MyLoopNum=(m_MyLoopNum+1)%65536; + + Send_Data[6]=0; + Send_Data[7]=124+32+5; + + if(SerialNo.length()==16){ + s =18000+TransactType; + char[] hex=getSerialNo(SerialNo); + String ss = ""; + for(int i=0;i12) +// Len_No=12; +// memcpy(Send_Data+8+32+37+(12-Len_No),SendNode,Len_No); + Len_No = SendNode.length(); + if(Len_No>12){ + Len_No=12; + SendNode = SendNode.substring(0,12); + } + Send_Data = enlargechar(Send_Data, SendNode, 77+(12-Len_No)); + +// Len_No=strlen(RecvNode); +// if(Len_No>12) +// Len_No=12; +// memcpy(Send_Data+8+32+49+(12-Len_No),RecvNode,Len_No); + Len_No = RecvNode.length(); + if(Len_No>12){ + Len_No=12; + RecvNode = RecvNode.substring(0,12); + } + Send_Data = enlargechar(Send_Data, RecvNode, 89+(12-Len_No)); + +// memcpy(Send_Data+8+32+61,OtherInfo,60); + //ding + + +// if(SerialNo.length()==16){ +// s =18000+TransactType; +// char[] hex=getSerialNo(SerialNo); +// String ss = ""; +// for(int i=0;i= '0' && hex_char1 <= '9') + int_ch1 = (hex_char1 - 48) * 16; // // 0 锟斤拷Ascll - 48 + else if (hex_char1 >= 'A' && hex_char1 <= 'F') + int_ch1 = (hex_char1 - 55) * 16; // // A 锟斤拷Ascll - 65 + else + return null; + i++; + char hex_char2 = hexString.charAt(i); // /锟斤拷位16锟斤拷锟斤拷锟斤拷锟叫的第讹拷位(锟斤拷位) + int int_ch2; + if (hex_char2 >= '0' && hex_char2 <= '9') + int_ch2 = (hex_char2 - 48); // // 0 锟斤拷Ascll - 48 + else if (hex_char2 >= 'A' && hex_char2 <= 'F') + int_ch2 = hex_char2 - 55; // // A 锟斤拷Ascll - 65 + else + return null; + int_ch = int_ch1 + int_ch2; + retData[i / 2] = (byte) int_ch;// 锟斤拷转锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷Byte锟斤拷 + } + return retData; + } + +} diff --git a/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/Test.java b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/Test.java new file mode 100644 index 0000000..6a51cbf --- /dev/null +++ b/密码设备应用软件_java接口程序_城银清算密押会员行_密押版_REL_1.01/Test.java @@ -0,0 +1,215 @@ +package com.sunyard.encrypt; + +import java.io.IOException; + +import com.sunyard.encrypt.DraftEncrypt; + + + +public class Test { + + /** + * @param args + * @throws IOException + */ + private static char[] getSerialNo(String s){ + char hex[] =new char[8]; + char ch ; + for(int i=0;i='0'&&ch<='9'){ + ch-='0'; + } + if(ch>='A'&&ch<='F'){ + ch=(char) (ch-'A'); + ch=(char) (ch+10); + } + if(i%2==0) + { + hex[i/2]=(char) (ch<<4); + } + else + { + hex[i/2]=(char) (hex[i/2]|ch); + } + + } + return hex; + }//压缩字符串 + + public static void main(String[] args) throws IOException { + // TODO Auto-generated method stub + /***************************************************************************** + DraftEncrypt:编核押函数 + int DraftEncrypt(int TransactType,char YwType,String Date,String SerialNo, + String Amount,String SendNode, String RecvNode, String OtherInfo,String CipherValue, + String My_IPAdress1,String My_IPAdress2,int TimeOut) + 参数说明: + TransactType:处理类型——2k:编押 2k+1:核押 + (k = 0,只有一种密钥,适用于密押机I型) + k为整数0≤k≤9,代表10种密钥类型,适用于密押机II型) + YwType: 业务种类(0x01,0x02,0x03,0x04,0x05) + (0x01=现金汇票,0x02=可转转帐汇票, + 0x03=不可转转帐汇票,0x04=查复书业务,0x05=划款业务) + Date: 签票日期(例如:"19990101") + SerialNo: 汇票号码(8位"12345678",或16位”1234567812345678”) + Amount: 金额 (单位为分,不含小数点,不足15位前补'0') + SendNode: 签发网点号,(例如:"000000123456") 不足12位前补'0' + RecvNode: 兑付网点号,若无则全填'0' + (划款业务时必须为”904290099992”) + OtherInfo: 前四个字节为查复书编号,其余全填0x00,若无则全填0x00 + (例如“12345678”压缩成四个字节为0x12,0x34,0x56,0x78 + 不足8位前补零,例如“12345”压缩成四个字节为0x00,0x01,0x23,0x45) + CipherValue:密押 + 编押时,出口值为计算出的密押 + 核押时,入口值为需核验的密押 + My_IPAdress1: IP地址1 + My_IPAdress2: IP地址2 + TimeOut: 超时时间 + 编押时,通过类的函数接口:getCipherValue() 返回一个String的字符串。 + 核押时,入口值为需核验的密押 + + 函数返回值: + 0: 表示处理正常,编押时密押在CipherValue字段返回,核押表示密押核验正确 . + >0:密押系统正常,但要素或密押中含有非法值,或者密押错误,通讯错误等 . + 错误代码: + 9001 联机错误 + 9002 发送错误 + 9003 接收错误 + 9004 编押错误 + 9005 核押错误 + 9006 核对签名错误 + 9007 发报行标识错误 + 9008 收报行标识错误 + 9009 加密卡处理异常 + 9010 数据报文错误 + 9011 网络通信超时 + 9012 发报行无编押权限 + 9013 密钥不存在 + 9014 兑付行号错误,当业务为划款业务时,如果兑付行号不为904290099992时返回该错误 + 9015 密钥过期 + 9016 金额格式错误 + + */ + + //编押:返回值为0,说明编押正常,且可以通过getCipherValue()获得密押。 + +/* int TransactType =3; + char YwType =(char)0x02; + String Date = "20151020"; + String SerialNo = "9040004122999001"; + String Amount = "000000000550000"; + String SendNode = "213162000019"; + String RecvNode = "000000000000"; + String OtherInfo = "0x00"; + String CipherValue = "0740128292"; + String My_IPAdress1 = "192.168.1.10"; + String My_IPAdress2 = "172.16.8.113";*/ + int TransactType =0; + char YwType =(char)0x2; + String Date = "20151020"; + String SerialNo = "12345678"; + String Amount = "000000000000100"; + String SendNode = "123456123456"; + String RecvNode = "904290099992"; + String OtherInfo = "123"; + String CipherValue = "1160747148"; + String My_IPAdress1 = "192.168.1.10"; + String My_IPAdress2 = "172.16.8.113"; + int TimeOut = 100; + /*if(TransactType%2 == 1) + { + CipherValue = "3979564876";//核押需要输入 + }*/ + /*if(OtherInfo.length()>=8){ + char[] hex1=getSerialNo(OtherInfo); + System.out.println(hex1); + String ssss = ""; + for(int i=0;i<4;i++){ + ssss=ssss+hex1[i]; + } + OtherInfo=ssss; + }*///查复书时压缩字符串 + + /* for(int i =0 ;i_^z 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

@#Sb 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

  • E6CI7I!DUBF1a6bdh~T!8axOv^c*+ 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