安卓pos机开发
Jsoh
爱学习,爱生活,技术分享,助人帮己!
展开
-
System.arraycopy使用复制数组
int [] src=new int[]{1,2,3,4,5,6,7,8,9,10};int [] dest=new int[6]; System.arraycopy(src, 2, dest, 4, 2); //从src中的第2个位置到dest的第4个位置;总数为2个 dest 数组结果原创 2017-04-10 15:58:42 · 448 阅读 · 0 评论 -
pos机应答码
原创 2017-04-27 10:14:21 · 1961 阅读 · 2 评论 -
JAVA字符串格式化-String.format()的使用
http://blog.csdn.net/lonely_fireworks/article/details/7962171常规类型的格式化String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。format(String format, Obje转载 2017-05-27 15:36:05 · 414 阅读 · 0 评论 -
银行卡主账号(域2)加密-1
域2主账号(Primary Account Number)变量属性B..19(LLVAR),用BCD码表示的1个字节的长度值+用TRK加密的带主帐号长度的主帐号数据。域描述用户主账号,即从磁条卡的第二磁道或第三磁道上获取的账号,或在交易时输入的主账户号,或读IC卡获得的卡号。该账号最多19个数字字符。长度值最大不能超过19。主账号应符合下列标准之一:《中华人民共和国金融行业原创 2020-03-30 15:46:13 · 2281 阅读 · 0 评论 -
银行卡磁道加密-1
域352磁道数据(Track 2 Data)变量属性B..24(LLVAR),1个字节的BCD格式长度值+用TRK加密的含第二磁道长度的第二磁道数据。域描述用户磁条卡上的第二磁道数据。用法它从第二磁道开始符(;)后的第一个字符读起,包括域的分隔符,但不包括结束符和LRC符。外卡只读二磁道。加密步骤:将2磁道实际1字节BCD长度与2磁道BCD数据组合到一起(共计最原创 2017-04-22 11:09:00 · 3718 阅读 · 0 评论 -
密钥分散算法简析
转载:http://blog.csdn.net/jimi_yuan/article/details/50589069密钥分算算法简称Diversify,是指将一个双长度(一个长度密钥为8个字节)的主密钥(MK),对数据进行分散处理,推导出一个双长度的DES加密密钥(DK)。该算法广泛应用于现在的金融IC卡和其他对于安全要求高的行业。其DK推导过程如下: 推转载 2017-05-11 15:52:09 · 5639 阅读 · 0 评论 -
pos机开发-序列号压缩算法
java实现: //序列号压缩算法 private byte[] snCompress (String s){ s = s.toUpperCase(Locale.getDefault()); LocalLogger.i(TAG,"s:"+s); int len = s.length() / 2; int ii原创 2017-05-11 15:46:47 · 1731 阅读 · 4 评论 -
银联标准之MAC算法实现(POS终端加密)
本文详细讲解银联标准MAC算法的过程,以及通过Java代码来实现这一运算过程。POS终端采用ECB的加密方式,简述如下: 1、将欲发送给POS中心的消息中,从消息类型(MTI)到63域之间的部分构成MAC ELEMEMENT BLOCK (MAB) 2、对MAB,按每8个字节做异或(不管信息中的字符格式),如果最后不满8个字节,则添加“0x00”下面举个例子原创 2017-04-13 09:49:30 · 3936 阅读 · 5 评论 -
POS 签到(0800/0810)
POS签到采用联机方式。POS终端向POS中心上送终端号、商户号、操作员代码,POS中心验证商户和终端的有效性后,产生终端工作密钥、提取交易批次号、POS中心的交易日期和时间,将这些数据下传到POS终端。POS终端只有签到成功后才可以进行金融交易。POS终端可以根据签到应答消息中POS中心主机的时间设置POS终端的时间。签到交易有以下三个作用:a) 终端与 POS 中心主机的批原创 2017-04-12 14:20:10 · 1409 阅读 · 0 评论 -
银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
原文:http://blog.csdn.net/lvxiangan/article/details/41014439加密密钥:KEK,terminal keys encrypting key; KEK密钥的用途:KEK实际上是一个密钥,用于加解密主密钥。导进去的主密钥是经过KEK加密后的密文,厂商在SDK再用kek解密主密钥密文。KEK用3DES算法加密主密钥转载 2017-04-10 17:09:33 · 2703 阅读 · 0 评论 -
银联交易中撤销和退货的区别
原文:http://blog.csdn.net/lvxiangan/article/details/52442550撤销是指因人为原因而撤销已完成的消费。消费撤销必须是撤销POS当日当批的消费交易。操作员需要向持卡人核对原始交易的凭证。发卡行批准的消费撤销金额将即时地反映到该持卡人的账户上。消费撤销包括普通消费撤销、分期付款交易撤销、积分消费(含联盟积分)撤销、手机芯片消费撤销、自转载 2017-04-10 17:07:23 · 6992 阅读 · 0 评论 -
POS消费小票(签购单)上的“秘密”
POS消费小票(签购单),其实还隐藏着不少的你知道的和不知道的“秘密”。 首先你看到签购单的项是收单银行,它表明你刷卡的商户是那个银行的签约商户,通常是以该银行的表识和文字表示的。 持卡人存根和商户存根,表明你应该拿的那联,消费小票(签购单)一般一式两联或者三联,针式POS机用卷式纸,一次出票,热敏POS机两次出单,第一联签购单应该是商户的,需要你签字确认,第二联才转载 2017-04-10 17:02:14 · 15806 阅读 · 0 评论 -
长度一定位数缺少向右补0
长度一定位数缺少向右补0 String test =“111”; String newTest = String.format("%-20s", test); 111原创 2017-04-10 16:13:04 · 1185 阅读 · 0 评论 -
Arrays.copyOfRange数组截取返回一个新数组
int [] src=new int[]{1,2,3,4,5,6,7,8,9,10}; int [] data=Arrays.copyOfRange(src, 2, 4); //从Sr中的第2个位置到第4个位置;总数为2个 2=obj data数组结果{3,4}原创 2017-04-10 16:03:28 · 7464 阅读 · 0 评论 -
java中十六进制和ASCII码互相转换。
package com.test;public class StringToHex{ public String convertStringToHex(String str){ char[] chars = str.toCharArray(); StringBuffer hex = new StringBuffer(); for(int i = 0; i < ch转载 2017-06-01 15:39:53 · 35861 阅读 · 14 评论