社保卡圈存初始化

来源:互联网 发布:怪物猎人2g 数据库 编辑:程序博客网 时间:2024/04/25 23:35

 

语法环境是公司自己做的,但大概思路可以看得出来,是同行有错误的地方请指证.!

 

RESET

;KID—密钥索引
<--! %kid = 05
;type—交易类型
<--! %ltype = 31
;posid—终端机编号
<--! %posid = 00 11 22 33 44 55
;time—交易时间(主机)
<--! %time = 20 06 08 08 00 00 00
;money—交易金额
<--! %money =  12345678
;DLK分散密钥
<--! %dlk= 28191D25B26E0227BB2DFAC41A1C9FA0
;选择DF04
00a4000002df04
;选择EF06
00a4020002ef06
;verify PIN
0020 000002 1234

;初始化
b02800010b   %kid %money %posid

<--! %status = @getresp()
<-- ! %balance=@strmid(%status,00,08)
echo %balance
<--! %tradenum = @strmid(%status,08,04)
echo %tradenum
<--! %icc=@strmid(%status,10,08)
echo %icc
<-- !%mac1=@strmid(%status,18,08)
echo %mac1


<--! %data = %icc >< %tradenum >< 8000
<--! %seslk = @dea(%dlk,%data,0)
<--! %mactemp=@sbmac(%seslk,%balance><%money><%ltype><%posid)
if %mactemp==%mac1

statuscmptxt 9000

messagebox 认证 成功
beep
else
 messagebox 失败
endif
 
;算MAC2

<--! %tradenum=%tradenum+1
<--! %c=%money><%ltype><%posid><%time
<--! %maclast=@sbmac(%seslk,%c)

b02a00000b %time %maclast 04
;验证 PIN
0020000002 1234
;查询余额
b0 2600 0104

 


 

原创粉丝点击