📄 type.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 + -