社保系列6《账户划入交易》
通过账户划入交易,持卡人可将其在基本医疗保险个人账户上的资金划入卡内基本医疗保险个人账户中。
特点:
1) 终端上联网进行
2) 提交个人密码(PIN)(如持卡人设置)
步骤:
1) 终端:启动账户划入交易(INITIALIZEFOR LOAD)
2) IC卡:处理INITIALIZEFOR LOAD命令
3) 检查是否支持命令中提供的密钥(DLK)索引号(NO:9403).
4) 产生过程密钥(SESPK):伪随机数(ICC)||基本医疗保险个人帐户划入交易序号||‘8000’
5) 产生MAC1:基本医疗保险个人帐户余额+交易金额+交易类型+终端机编号
6) 终端:验证MAC1,主机将生成SESLK并确认MAC1是否有效。
7) 回送错误状态:如果不接受帐户划入交易,则主机应通知终端
8) 交易处理:扣减帐户划入金额,产生一个报文鉴别码(MAC2)
9) 发出“CREDITFOR LOAD”命令:更新卡内基本医疗保险个人帐户
10) IC卡:验证MAC2(NO:9302).
11) 交易处理:个人帐户划入交易序号加1,交易金额累加到基本医疗保险个人帐户余额上,更新交易明细
12) 返回确认:IC卡将TAC回送给终端
- 00A404000F7378312E73682EC9E7BBE1B1A3D5CF
- 0020000003123456 //验证pin
- 00A4040006D15600000503 //DF04:社会保险信息区
- MONEY=00100000
- DLK=00000000000000000000222000000000
- DTK_=00000000011111000000666000220000
- DTKL=copy(DTK_,0,16)
- DTKR=last(DTK_,16)
- DTK=XOR(DTKL,DTKR)
- //社保初始化帐户划入:密钥索引号(DLK:01) + 交易金额 + 终端机编号
- B02800010B+01+MONEY+130000000001 //DLK
- 00C0000010(ST+9000)
- //CIA余额 4字节
- //联机交易序号 2字节
- //密钥版本号 1字节
- //算法标识 1字节
- //伪随机数 4字节
- //MAC1 4字节
- LM=COPY(ST,1,8)//CIA余额
- CN=COPY(ST,9,4)//交易序号
- WS=COPY(ST,17,8)//伪随机数
- //计算帐户划入交易过程密钥SESLK
- ECB_3DES_EN(WS+CN+8000,DLK,SESLK)//DLK帐户划入用来产生过程密钥
- //计算MAC1,数据为:16个0 + CIA余额 + 交易金额 + 交易类型(此处要转为ACSII码) + 终端机编号 + 80(补足长度)
- SDES_MAC(0000000000000000+LM+MONEY+31+130000000001+80,SESLK,MAC1)
- //MAC2,数据为:16个0 + 交易金额 + 交易类型(此处要转为ACSII码) + 终端机编号 + 交易日期 + 交易时间 + 800000000000(补足长度)
- SDES_MAC(0000000000000000+MONEY+31+130000000001+20090106+120000+800000000000,SESLK,MAC2)
- //个人账户划入金额(SSS CREDIT FOR LOAD)
- B02A00000B+20090106+120000+MAC2 //DTK
- 00C0000004(TAC+9000) //TAC:交易验证码
- B026000104(BALANCE+9000)//查询个人账户余额GET BALANCE
- SDES_MAC(0000000000000000+BALANCE+CN+MONEY+31+130000000001+20090106+120000+8000000000000000,DTK,_TAC)//终端产生
注:其中TAC必须等于_TAC;
文/闫鑫原创 转载请注明出处http://blog.csdn.net/yxstars/article/details/38389345
转载于:https://www.cnblogs.com/iplus/p/4467138.html
社保系列6《账户划入交易》相关推荐
- python银行系统-Python实现银行账户资金交易管理系统
用类和对象实现一个银行账户的资金交易管理, 包括存款.取款和打印交易详情, 交易详情中包含每次交易的时间.存款或者取款的金额.每次交易后的余额. 如: 下面按照要求定义一个账户 Account 类.账 ...
- python交易_Python实现银行账户资金交易管理系统
用类和对象实现一个银行账户的资金交易管理, 包括存款.取款和打印交易详情, 交易详情中包含每次交易的时间.存款或者取款的金额.每次交易后的余额. 如: 下面按照要求定义一个账户 Account 类.账 ...
- 交易软件 python_Python实现银行账户资金交易管理系统
用类和对象实现一个银行账户的资金交易管理, 包括存款.取款和打印交易详情, 交易详情中包含每次交易的时间.存款或者取款的金额.每次交易后的余额. 如: 下面按照要求定义一个账户 Account 类.账 ...
- 【量化】量化交易入门系列6:量化交易学习书籍推荐(二)
作者:悠悠做神仙 来源: 恒生LIGHT云社区 上一篇 量化交易入门系列5:量化交易学习书籍推荐(一) 我们介绍一些量化交易一些操作和理论性书籍,可能对于刚入门的大家而言,可能有些枯燥.所以这篇文章, ...
- 以太坊中的账户、交易、Gas和区块Gas Limit等基本概念
本篇文章作为科普文章,汇总整理了以太坊中的账户.交易.Gas和区块Gas Limit等相关概念,以便大家在实践中更好的与具体业务相结合. 什么是账户 以太坊账户与我们所知的账户概念有一定相似之处,却又 ...
- python银行账户资金交易管理办法_Python实现银行账户资金交易管理系统
用类和对象实现一个银行账户的资金交易管理, 包括存款.取款和打印交易详情, 交易详情中包含每次交易的时间.存款或者取款的金额.每次交易后的余额. 如: 下面按照要求定义一个账户 Account 类.账 ...
- 账户、交易核心概念及投注合约解析
外部账户 vs 合约账户 以太坊中有两种类型的账户 外部账户 合约账户 它们的区别在Serenity版本中可能会消失. 外部账户(EOA) 外部账户 有以太币余额, 可以发送交易(以太币交易或引发合约 ...
- 银行账户类(Accoount)可以为账户存储交易。取款和存款都会产生交易信息。需要记录账户每次交易的信息,包括取钱还是存钱,交易的金额,交易时间和交易之后的余额。系统可以通过账户查询所有的交易次数(最
不要自卑,去提升实力 互联网行业谁技术牛谁是爹 如果文章可以带给你能量,那是最好的事!请相信自己 加油o~ 1.题目背景 银行账户类(Accoount)可以为账户存储交易.取款和存款都会产生交易信息. ...
- 某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理。该系统的后台数据库为ATM,
某银行拟开发一套ATM系统软件对客户的账户和交易信息进行管理.该系统的后台数据库为ATM,该数据库中拥有账户表Account和交易表TransInfo两张表. 使用Navicat for MySQL创 ...
最新文章
- 让后台服务不被杀———电话录音
- HDU - 4738 Caocao's Bridges(边双缩点)
- Python—实训day2—爬虫案例1:访问百度贴吧
- 文档管理 linux,Linux 文档管理
- IDEA Debug 无法进入断点的解决方法
- Python处理CSV大文件特定行数据
- volley 框架的使用
- #QCon#北京2011大会“更有效地做测试”专题Slides资料
- 车型代号对照表_车型代号对照表_相关文章专题_写写帮文库
- git 版本控制~ 文件没有绿色和红色图标
- arm android开发板推荐,arm7开发板推荐 最新arm开发板了解
- mongodb数据库添加用户名密码以及忘记密码重置操作
- 传染病研究-靶向下一代宏基因组测序(mNGS)分析
- 学的java,想问问现在想做电商的项目怎末样?
- 第八届北京国际电影节开幕 首次发布中国电影大数据
- SuperSU二进制更新失败的解决方法
- 2009成渝微型计算机处于空白,学海园大联考 2020届高三信息卷(二)文综答案
- sklearn的predict_proba
- 云、CDN、IDC 三个概念的区别是什么
- 利用这5个办法成为自由职业者,通过远程赚钱,开心旅行、轻松赚钱!