招行通联8583之【初始化上传第一步 62域】
62域 计算:
例如终端号TID为10000004 ,那么TID_1 >>0004100000041000 (ASCII->HEX) >> 3030303431303030
上一步的结果同CDA8C1AAD0C2D0CB异或得到TID_2 (CDA8C1AAD0C2D0CB是通联写死得固定数 )
即TID_2 >>3030303431303030 xor CDA8C1AAD0C2D0CB >>FD98F19EE1F2E0FB
TID_2(FD98F19EE1F2E0FB)的每个字节除9,将除数和模数异或 得到 1D181D1419121013
TID_2/9>>1C101A11191A181B
TID_2%9>>0108070500080808
xTID =1C101A11191A181B xor 0108070500080808= 1D181D1419121013
上一步的结果后追加D6A7B8B6CEDED3C7后与md5PWD异或作为3DES的KEY(D6A7B8B6CEDED3C7 也是通联写死)。例如:
md5PWD = MD5(11111111)=1BBD886460827015E5D605ED44252251
TTEK =(xTID || D6A7B8B6CEDED3C7) xor md5PWD=1D181D1419121013D6A7B8B6CEDED3C7 xor 1BBD886460827015E5D605ED44252251=06A59570799060063371BD5B8AFBF196
即 ttek = 06A59570799060063371BD5B8AFBF196;
那么62域 传输的结果:
trd(客户端生成的随机数,目前先写死这个):372F642C00E7B139
pwd(Hex):3131313131313131 >>hex(11111111) >>3131313131313131
62域 = 通过ttek 加密trd + 通过ttek 加密 pwd(hex)+后不齐 208位(补0)
=5CBF24BCDC658182 + AD5D134DC357966F
= 5CBF24BCDC658182AD5D134DC357966F +后不齐 208位(补0)
=对应62域:
5CBF24BCDC658182AD5D134DC357966F00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000