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