⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 type.java~1~

📁 移动CMPP3.0协议短信网关连接程序
💻 JAVA~1~
字号:
package bin;


public class Type 
{
	

//	1 宏定义
	static final int MAX_DYNAMIC_PASSWORD_LENGTH = 16;//最长的动态密码长度
	static final int RESPONSE_LOGIN_SUCCESS = 0;
	static final int RESPONSE_USER_LOCKED = 1;
	static final int RESPONSE_IN_LOGINING = 2;
	static final int RESPONSE_WRONGPASSWORD  = 3;
	static final int RESPONSE_NO_USER = 4;
	static final int RESPONSE_LOGINOUT_SUCCESS = 5;
	static final int RESPONSE_LOGINOUT_FAILED  = 6;
	static final int RESPONSE_RA_MULTI_IDCARD  = 7;
	static final int RESPONSE_RA_MULTI_PHONE = 8;
	static final int RESPONSE_RA_DB_ERROR = 9;
	static final int RESPONSE_RA_SUCCESS = 10;
	static final int RESPONSE_SERVER_ALIVE = 11;

	static final int LOGIN_ACCESS  = 1;
	static final int LOGIN_GIVEUP = 2;
	static final int LOGIN_PING = 3;

	static final int LOGIN_REMOTE_REGISTER  = 4;


	static final int PROXY_SERVER_UPLINKPORT = 4500;  //代理服务的UPLINK 端口
	static final int PROXY_SERVER_DOWNLINKPORT = 4501 ; //代理服务的DOWNLINK端口
	static final int SERVER_AUTHENTICATION_PORT = 3000 ;//认证端口
	static final int SERVER_REGISTRATION_PORT = 4000 ;//注册端口
	static final int ALARMCENTERLISTEN_PORT = 4502 ;


	static final int  MIN_IDCARD_LENGTH = 15;
	static final int  MAX_IDCARD_LENGTH = 18;

	static final int  MIN_USER_ACCOUNT_LENGTH = 10;
	static final int  MAX_USER_ACCOUNT_LENGTH = 20;
	
	static final int SIMPLE_MOBILE_LEN = 11;
	static final int COMPLETE_MOBILE_LEN = 13;

	static final int MIN_DYNAMIC_PSW_LEN = 6;
	static final int MAX_DYNAMIC_PSW_LEN = 16;


	static final int MASTER_TELEPHONE = 1;//帐号主从标识
	static final int SLAVE_TELEPHONE = 0;




	static final int USER_ACCOUNT_STATUS_NOT_OPENED = 0x00;
	static final int USER_ACCOUNT_STATUS_OPENED = 0x01;
	static final int USER_ACCOUNT_STATUS_SUSPENDED = 0x02;
	static final int USER_ACCOUNT_STATUS_OPENED_BUT_NOT_ACKNOWLEDGED = 0x03;

//	用于标识该帐号的状态(0x00表示服务未开启,0x01表示服务开启,0x02表示服务暂停,0x03开启但是用户还没用使用过)

	static final int TOKEN_STATUS_NORMAL = 0x00;
	static final int TOKEN_STATUS_1_ERROR = 0x01; 
	static final int TOKEN_STATUS_2_ERROR = 0x02;
//	static final int TOKEN_STATUS_LOCKED = 0x10;
	static final int TOKEN_STATUS_LOCKED = 0x03;//便于程序设计修改为0x03,文档上为0x10
	/*令牌正常,未被锁定                  编码0x00
	  未被锁定,但已经1次错误输入         编码0x01
	  未被锁定,但已经连续2次错误输入     编码0x02
	  令牌被锁定                          编码0x10 */
	static final int LOGIN_ONLINE = 0x01;
	static final int LOGIN_OFFLINE = 0x00;

	static final int KEY_LENGTH_DES_AND_SSF33 = 16 ;
	static final int DB_ENCRYPT_KEY_LENGTH = 16 ;
	static final int SESSION_KEY_LENGTH = 16 ;
	static final int WORK_KEY_LENGTH = 32 ;
	static final int STATIC_KEY_LENGTH = 16;
	static final int IDCARD_LENGTH = 18;//身份证号18个字节


	static final int   REQUEST_TYPE_OPEN_SERVICE =0x01;//开启服务请求
	static final int   REQUEST_TYPE_SUSPEND_SERVICE =0x02;//暂停服务请求
	static final int   REQUEST_TYPE_SYSTEM_UNLOCK = 0x03;//系统解锁请求
	static final int   REQUEST_TYPE_SYNCHRONIZATION =0x04;//同步校正请求
	static final int   REQUEST_TYPE_SET_SUBACCOUNT =0x05;//设置子账户请求
	static final int   REQUEST_TYPE_CANCEL_SUBACCOUNT =0x06;//取消子账户请求
	static final int   REQUEST_TYPE_CANCEL_SERVICE = 0x07;//取消服务请求

	static final int   ANSWER_TYPE_OPEN_SERVICE = 0x81;//开启服务应答
	static final int   ANSWER_TYPE_SUSPEND_SERVICE = 0x82;//暂停服务应答
	static final int   ANSWER_TYPE_SYSTEM_UNLOCK = 0x83;//系统解锁应答
	static final int   ANSWER_TYPE_SYNCHRONIZATION = 0x84;//同步校正应答
	static final int   ANSWER_TYPE_SET_SUBACCOUNT = 0x85;//设置子账户应答
	static final int   ANSWER_TYPE_CANCEL_SUBACCOUNT= 0x86;//取消子账户应答
	static final int   ANSWER_TYPE_CANCEL_SERVICE = 0x87;//取消服务应答


	static final boolean SUCCESS = true;
	static final boolean FAILED = false;

	

	
	static final int ENCRYPT_METHODFLAG = 1;
	//ENCRYPT_METHODFLAG为1时,加密方式为ENCRYPT_METHOD_3DES
	//ENCRYPT_METHODFLAG为0时,加密方式为ENCRYPT_METHOD_SSF33
	
	static int ENCRYPT_BLOCK_LENGTH;
	
	public static int getENCRYPT_BLOCK_LENGTH()
	{
		if(ENCRYPT_METHODFLAG==1)
		{
			ENCRYPT_BLOCK_LENGTH = 8;
			return ENCRYPT_BLOCK_LENGTH;
		}
		else
		{
			ENCRYPT_BLOCK_LENGTH = 16;
			return ENCRYPT_BLOCK_LENGTH;
		}
	}
	
	
	static class LoginParameter//登录参数
	{
		String ucLoginIntype;//响应消息的类型
	    String useraccountnumber;/*用户银行卡号*/
	    String password;/**/	

		String strClientIP;
	}





//	1  数据结构定义
	

	static class ResponseInfo//登录参数
	{
		String ucIntype;//响应消息的类型
		String strInformation;//消息内容
	}


	static class REGSITERParameter//注册用户结构
	{
	    String ucLoginIntype;//响应消息的类型
		String idcard ;/*身份证号码*/
		String useraccountnumber;/*用户银行卡号*/
		String mobiletelephone;/*第一个可用手机号码*/
	    short mobilephone_masterslaveflag;
		byte[] static_psw = new byte[STATIC_KEY_LENGTH];/*用于记录原来银行业务的密码*/
		short static_psw_length;/*用于存放用户静态口令长度*/
		short dynamic_passwrd_length;/*用于存放用户动态口令长度*/
	}

	static class SIMPLE_SMS
	{
		String	uchMsgfmt;
		String	uchMsglength;
		String	sDestid;
		String  sMsgcontent;	
	}

	static class Alarm_Signal
	{
	   String strAlarmedIPAddress;
	   String strAlarmReason;//原值为40,由于在报警中需添加用户手机号信息,所以需增加空间
	}


	static class ClientInfoStruct
	{
		String idcard ;/*身份证号码*/
		String useraccountnumber;/*用户银行卡号*/
		String mobiletelephone;/*第一个可用手机号码*/
	    short mobilephone_masterslaveflag;
		byte[] session_key = new byte[SESSION_KEY_LENGTH];/*传输信息加密的DES的密钥*/
		byte[] work_key_ssf33= new byte[WORK_KEY_LENGTH];/*用于产生动态口令,用公用的会话密钥加密存放*/
		byte[] static_psw= new byte[STATIC_KEY_LENGTH];/*用于记录原来银行业务的密码*/
		
		short static_psw_length;/*用于记录原来银行业务的密码的长度*/
		short dynamic_passwrd_length;/*用于存放用户动态口令长度*/
	    short useraccount_status;/*用于标识该帐号的状态(0x00表示服务未开启,
	                                     0x01表示服务开启,0x02表示服务暂停)*/
		short token_status;/*令牌状态*/
		short loginflag;/*表示该用户正在登陆中*/
		byte[] tmpK31= new byte[WORK_KEY_LENGTH/2];//
		
	}

	
	


	
	static class stk_protocal_content //短信格式
	{
		
		///////////////协议短信头部////////////////
	   byte[] flag = new byte[2];//短信协议标识 0xeded
	   byte version;//版本,一个字节
	   byte[] ValidTime= new byte[7];//时间戳
	   byte[] UserID= new byte[20];//唯一标识用户的帐号,如用户的银行卡号码等。
	   byte RequestReplyType;//请求/应答类型:标识协议短信的类别。
	                   	     //最高位为0表示请求,为1表示应答;
	                   	     //低七位标识其请求/应答的类型。具体的说明如下:
	   byte DataLenth;//数据长度:表示协议短信体--Cookie和当前请求/应答数据长度的字节数。
       ////////////////-短信头部-/////////////////////
	   
	   //////////////////////短信体////////////////////////////////
	   byte cookie;//Cookie:由STK卡产生的用于本次协议短信传输的随机数,一字节。
	   byte[] pData;//请求/应答数据:用于装载各种需要传递的信息。
	   //////////////////////短信体///////////////////////////////////
	   
	   /////////////////////校验码///////////////////////////////
	   byte[] AuthenticCode = new byte[2];//因为前面的指针的指向的数据块大小不能确定,所以...
       ////////////////////校验码///////////////////////////////////////////
	}
	




}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -