移动支付
文章平均质量分 87
LVXIANGAN
这个作者很懒,什么都没留下…
展开
-
Android之获取手机UDID
最近做的一个项目中需要用到Android设备唯一码(UUID)来标识一台设备,Android中设备唯一码有很多,如:MAC地址、IMEI号(DeviceId)、IMSI号、ANDROID_ID、序列号(SerialNumber)等,但并不是所有设备上都能稳定获取到这些值。最后项目中采用的是MAC地址。先总结一些搜索得知的各种值的缺点,再说说最后采用MAC地址的解决方案吧。 1.MAC...转载 2018-11-21 17:53:22 · 16861 阅读 · 0 评论 -
什么是胖Model和瘦Model?
胖Model (Fat Model):在Model 中对数据根据需要进行处理,让Controller可以直接使用经过处理后的数据。瘦Model(Thin Model):Model中的数据不进行任何处理或修改,原封不动的把服务器返回内容发送给Controller。举例:后台服务器返回时间格式:yyyy-mm-dd hh:mm:ss,但客户端只需要显示yyyy-mm-dd,在胖Mode原创 2017-07-12 17:29:53 · 1978 阅读 · 0 评论 -
App之OAuth授权登录、access token、refresh token
OAuth授权是什么? 先说一下常见的应用场景来理解吧,情景1:我们访问一个购物应用/网站,把商品加入购物车进行结算时,会被要求先注册才能使用。但我不想在注册页面填那么多东西又想购买怎么办?那就涉及到授权登录了。我在WX里面允许这个App读取我的基本信息,让它为我自动创建一个账号,这样就可以继续购物流程了。在这授权过程中,实际是WX向App提供了一个令牌(AccessToken),Ap...原创 2017-09-18 16:29:17 · 8114 阅读 · 0 评论 -
3DES对称算法之双倍长密钥算法和三倍长密钥算法
一般我们用的3Des算法,大部分都是指双倍长密钥算法,最近在阅读某知名公司技术文档时发现,3DES算法还有一种三倍长密钥算法。算法工具也侧面印证了这个说法:那么这两个算法有什么区别呢?3DES,分为2种,一个是双倍长3DES,一个是三倍长3DES。如果是双倍长3DES,密钥为16字节长,按左右,分别LK(密钥的左边8字节),RK(密钥的右边8字节)。原创 2017-05-19 16:18:37 · 13146 阅读 · 7 评论 -
关闭金融IC卡降级交易,不认真对待你就输了!
2014年5月14日,人民银行印发了《关于逐步关闭金融IC卡降级交易有关事项的通知》,决定在全国范围内统一部署逐步关闭金融IC卡降级交易工作,以全面提升银行卡安全交易水平。一、首先,我们得理清几个概念。Q1. 什么是金融IC卡降级交易? A:金融IC卡降级交易是指既有磁条又有芯片的金融IC复合卡在交易时没有采用插卡或者挥卡的方式,而是通过安全性较低的磁条(刷转载 2015-07-14 22:38:24 · 3512 阅读 · 0 评论 -
非接触式IC卡、条码卡、磁道卡、接触式IC卡、芯片卡
一、最新技术—非接触IC卡 非接触IC卡,又名感应卡,诞生于90年代初,由于存在着条码卡、磁卡和接触式IC卡不可比拟的优点,使之一经问世,便立刻引起了广泛的关注,并以惊人的速度得到推广应用。 非接触式IC卡由IC芯片,感应天线组成,并完全密封在一个标准PVC卡片中,无外露部分。非接触式IC卡的读写过程,通常由非接触型IC卡与读写器之间通过无线电波来完成读写操作。 非原创 2014-11-09 20:45:59 · 3031 阅读 · 0 评论 -
移动支付之Pos终端主密钥、工作密钥、pin密钥、mac密钥
下面介绍一下加密机中最主要的几种密钥: 1、加密机主密钥(MK) 加密机主密钥(Master Key - MK)是存入在HSM机内的由三个成分合成的一对最上层密钥。在HSM机器以外的地方不会以明文形式存放,它采用双倍标准DES密钥(长达112位)实现三重数据加密。 HSM投入运行时,必须先产生和装载MK。由于DES算法依靠某一个密钥进行加密,同时所有密钥和数据都经由MK进行加密,所...原创 2014-11-09 22:05:09 · 35260 阅读 · 2 评论 -
Android之第三方库封装
需求情景: 项目A需要引入第三方jar包,这个jar包由自己开发项目B并封装,其中项目B由一个Activity及相关类组成,既带有硬件厂商提供相关库(.jar及.so文件),又有如zxing、gson等第三方开源jar包。这里面涉及到3个问题:1、Activity中Res资源封装,使用R.id.xxx或R.layout.xxx会报错,提示找不到资源;2、第三方j原创 2016-01-06 00:41:44 · 2516 阅读 · 0 评论 -
使用 xcworkspace 管理 iOS 工程
首先创建目标工程创建工作空间xcworkspace文件,并将创建的*.xcworkspace文件放到刚创建的目标工程同级目录下关闭刚刚创建的目标工程,打开*.xcworkspace文件,把刚刚创建的目标工程添加到工作空间中来如果要添加一些框架,则将目标框架放到与目标工转载 2017-06-15 00:00:37 · 1291 阅读 · 0 评论 -
Java Socket编程报错Connection reset by peer
Socket编程过程中,客户端向服务端发送请求,会遇到以下错误:java.net.SocketException: recvfrom failed: ECONNRESET (Connection reset by peer)01-11 23:07:25.065: W/System.err(11804): java.net.SocketException: recvfrom failed: EC原创 2017-06-13 15:37:20 · 4363 阅读 · 1 评论 -
Android中XML的命名空间、自定义属性
基本概念介绍命名空间(namespace)XML 命名空间提供避免元素命名冲突的方法。打个比方,A学校有名学生叫做林小明,B学校也有名学生叫林小明,那我们如何识别这两名拥有相同名字的同学呢?这时候命名空间就派上用场了。A和B此时就可以被当成是命名空间了。也就是说,命名空间里面存放的是特定属性的集合,Android中常见的命名空间下面分别介绍android、t转载 2017-12-08 17:14:35 · 353 阅读 · 0 评论 -
Android之sp和dip的区别
最近给家里父母买了个手机,因为视力不好给调成了“简易模式”(其实可以理解为放大模式),发现app字体变大了,会造成适配上的问题。很多资料对sp和dip的解释比较模糊,大概就是说两者差不多,一般表示字体大小使用sp,视图宽、高用dip。先来看看android属性中的px,sp,dip的区别:1、px: pixels(像素)。不同设备显示效果相同,一般HVGA代表3原创 2017-12-02 16:25:02 · 738 阅读 · 0 评论 -
AndroidStudio之support library
转自https://developer.android.com/topic/libraries/support-library/revisions.html支持库本文内容概览向后兼容性支持一般布局模式支持不同的设备类型一般实用程序另请参阅支持库功能支持库设置支持库修订历史记录Android 支持库提供了诸多未内置于框架的功能。转载 2017-12-03 23:57:15 · 1904 阅读 · 0 评论 -
支付系统之异步通知
在支付网关(如支付宝)接入时,我们需要在支付完成调用同步通知后,需要再次调用异步通知。很多时候会疑惑:为什么有了同步通知还需要异步通知?其实为了安全保险起见用的,两者发送的数据没有本质的区别;同步通知有2个作用;第一是从支付宝的页面上返回自己的网站继续后续操作;第二是携带支付状态的get参数;让自己的网站用于验证;同步通知后;还需要异步通知主要是为了防止出现意外情况;因为涉及到金钱...转载 2018-10-22 11:12:28 · 1974 阅读 · 0 评论 -
VISA和万事达卡在国内发展
随着中国逐步放开银行卡清算市场,VISA、万事达等国际卡组织正虎视眈眈,这不仅让一家独大的银联感受到了几分威胁。 很多人对VISA、万事达的了解,可能源于银行卡上的标识字样:目前国际发卡组织一般是与中国银联合作,通过银联渠道进行发行双标卡:即既有VISA / 万事达的标识,又有银联的标识。 那很多人会问:为什么VISA、万事达卡不能直接发行直接的卡呢?原因很原创 2018-03-20 10:44:05 · 2421 阅读 · 0 评论 -
B2C、O2O、B2B、C2C的区别
一.O2O、C2C、B2B、B2C的区别在哪里?B2C 是 business to consumer 是商家对个人,如:卓越、当当、京东等等。B2B 是 business to business 是企业间的,如:阿里巴巴。O2O 是 online to offline,线上对线下,如:大众点评、美团。实现O2O营销模式的核心是在线支付。C2C 是 con原创 2018-02-07 11:24:55 · 1775 阅读 · 0 评论 -
什么是预付卡及预付卡发展前景
预付卡对广大消费者来说,是一个熟悉的有点陌生的玩意儿。如果换些个词,大家或许马上就知道,比如美容卡、美发卡、健身卡、会员卡、贵宾卡、购物卡......等等,各种各样千姿百态的卡。政府部门、法律法规对预付卡的定义要更加专业精准:"预付卡指由发行机构发行的,可在商业服务业领域使用的债权凭证,具体表现为购物券或消费卡,体现了持卡(券)人作为消费者对发行机构享有的债权";或者"预付卡又叫储值卡、消费卡原创 2018-02-07 10:43:22 · 3626 阅读 · 0 评论 -
关于微信小程序的感慨
今天发点感慨吧。 微信小程序开发如火如荼,随着深入发现开发模式与框架居然与我们以前老东家大同小异,一切都是那么熟悉,哈哈……补充一下:前东家在2010年就已经将这模式成功应用在国内多家大型金融系统,可惜在之后的那些岁月中,无论是面试还是跟身边朋友进行技术交流,别人都无法彻底理解这一框架的魅力,很多人说:是不是你文字说明功底不行啊?其实我觉得不是,大部分人只接触过原生开发,没有完整的项目d原创 2018-01-30 16:26:44 · 468 阅读 · 0 评论 -
Android之Activity界面劫持反劫持
总结:Activity劫持原理1、注册一个receiver,响应android.intent.action.BOOT_COMPLETED,使得开机启动一个service;这个service,会启动一个计时器,不停循环查询所有当前运行的进程(因为app可以枚举系统当前运行进程而无需声明其他权限)2、一旦发现当前某一进程的Activity正是我们想要劫持的,并运行在前台,我们立马使用FLAG_A...转载 2018-02-09 15:50:16 · 20222 阅读 · 3 评论 -
Android之利用AccessibilityService实现抢红包
Talk is cheap,show me the code!直接上代码吧,有兴趣的朋友可以了解一下。别忘了升级微信到最新的6.6.1版本,其他版本不会自动抢。PS:本来想动手实现一下iOS版抢红包(参考这里),考虑到需要修改ipa及重新打包,微信可以轻易甄别出非正式发布包而当作弊封号处理,因此就不折腾了。相对而言,Android版不用篡改官方客户端,被发现封号的几率会低很多。原创 2018-01-15 16:28:25 · 634 阅读 · 0 评论 -
Android报错之Dumping all threads without appropriate locks held: thread list lock mutator lock
最近在Debug Android工程时,发现真机直接崩溃闪退,但直接run则没问题,debug闪退日志报错:Dumping all threads without appropriate locks held: thread list lock mutator lock,之前调试还是好好的,为什么突然就不行了呢?具体日志如下:12-07 10:37:05.736: I/System原创 2017-12-07 11:03:33 · 15312 阅读 · 3 评论 -
Android Studio 解决build.gradle运行编译报错问题
总结:1、compileSdkVersion:使用编译的SDK版本,如2、buildToolsVersion:构建gradle、ant的工具,如28.0.3取自:3、依赖appcompat-v7和support:design版本:可以使用 + 号,但不建议这样做,会导致测试版本不稳定。dependencies { compile 'com.android.support...原创 2017-12-03 23:58:40 · 10662 阅读 · 1 评论 -
微信支付/支付宝指纹支付原理
随着各大厂商手机相继加入了指纹解锁功能,指纹支付因为免除了密码输入,简单快捷的特点,迅速受到了广大用户的青睐。今天我们简单来探究一下指纹支付的原理。 首先,我们先看看微信的指纹支付设置页面:点击钱包----右上角------支付管理 再来看看支付宝的设置页面: 从以上流程,可以大概推断指...原创 2017-07-12 16:50:35 · 14244 阅读 · 1 评论 -
智能卡脱机支付交易流程分析
1、引言 国内CPU智能卡越来越普及,使用范围也越来越广泛,种类也越来越多,有公共交通卡、社保卡、金融卡等等。依托CPU智能卡的高安全性,一般都能支持脱机支付交易,也即无需实时联接后台系统就能完成支付交易,那么脱机支付应该关注的技术要点有那些,本文将着重对此CPU智能卡脱机支付交易流程技术进行剖析,并对几类国内几个标准的卡产品脱机交易进行比较,以供大家参考。 2、CPU智能转载 2017-06-08 16:50:30 · 4768 阅读 · 0 评论 -
3DES对称算法之另类用法
我们知道,要使用3DES算法进行加解密,通常做法是:1、双方约定加密密钥key 2、服务端使用key 对明文plainText进行3DES加密,得到密文cipherText 3、密文经过安全网络传输到客户端 4、客户端使用key 对cipherText进行3DES解密,得到明文plainText。但实际项目应用上,有些客户端(如Pos机)的内置算法,只支持3DES加密而没有解密算...原创 2017-04-12 16:48:33 · 1786 阅读 · 0 评论 -
Android移动支付之HCE
HCE(Host-based Card Emulation)是一个模拟智能卡的软件,在Android中就是一个apk。HCE的特点是模拟智能IC卡(ISO 7816-4),可用于金融和行业应用,HCE是软件模拟的智能IC卡,所以也会有AID。支持HCE功能的Android手机需要满足如下条件:1.支持NFC功能2.操作系统是Android3.Android版本4.4转载 2016-03-03 09:45:08 · 3837 阅读 · 1 评论 -
性能分析工具之-- Eclipse Memory Analyzer tool(MAT)
前言在平时工作过程中,有时会遇到OutOfMemoryError,我们知道遇到Error一般表明程序存在着严重问题,可能是灾难性的。所以找出是什么原因造成OutOfMemoryError非常重要。现在向大家引荐Eclipse Memory Analyzer tool(MAT),来化解我们遇到的难题。如未说明,本文均使用Java 5.0 on Windows XP SP3环境。转载 2016-01-20 16:14:07 · 2331 阅读 · 0 评论 -
Java之堆和栈的区别
堆(heap)、栈(stack)总结:堆:特点是 大,速度慢,无序,存复杂的数据栈:特点是 小,速度快,有序,存简单的数据堆:(存放对象)主要存放创建(new)出来的对象。存取速度慢,可以运行时动态分配内存,生存期不需要提前确定。栈:(存放基本数据类型变量、对象的引用变量)基本数据类型的变量(int、short、long、byte、float、double、bool...转载 2016-01-20 16:47:58 · 715 阅读 · 0 评论 -
据说年薪30万的Android程序员必须知道的帖子
目前包括: Android开源项目第一篇——个性化控件(View)篇 包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、 ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPickView、 GraphView、UI St转载 2016-01-03 21:55:43 · 2588 阅读 · 0 评论 -
“互联网+”商业模式的精髓
“互联网+”商业模式的精髓 专家视线 当今,信息化已成为引领现代化建设全局的战略举措。信息化作为时代的大浪潮,经历了一浪三波的发展阶段:第一波为初浪,主要是单个系统的数字化;第二波为大浪,主要是信息系统互联互通的网络化;第三波为高浪,这是互联网与各行各业融合的智慧化。“互联网+”就是从第二波向第三波转载 2015-11-15 01:13:52 · 970 阅读 · 0 评论 -
BCD码
BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码。用4位二进制数来表示1位十进制数中的0-9这10个数码。例如:BCD码每四位表示一个十进制数。比如二进制数01111111,它对应的十进制数是127,1对应的BCD码(四位)为0001,2对应的BCD码为0010,7对应的BCD码为0111。合起来127对应的BCD码就是000原创 2015-07-02 11:27:52 · 1853 阅读 · 0 评论 -
素数与RSA
质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数(质数)整除,换句话说就是该数除了1和它本身以外不再有其他的因数;否则称为合数。根据算术基本定理,每一个比1大的整数,要么本身是一个质数,要么可以写成一系列质数的乘积;而且如果不考虑这些质数在乘积中的顺序,那么写出来的形式是唯一的。最小的质数是2。目前为止,人们未找到一原创 2015-05-21 11:44:07 · 8397 阅读 · 0 评论 -
Android NFC开发概述
Near Field Communication (NFC) 为一短距离无线通信技术,通常有效通讯距离为4厘米以内。NFC工作频率为13.65 兆赫兹,通信速率为106 kbit/秒到 848kbit/秒。NFC通信总是由一个发起者 (initiator)和一个接受者(target)组成。通常initiator 主动发送电磁场(RF)可以为被动式接受者(passive target)提供转载 2013-12-09 10:47:28 · 31706 阅读 · 4 评论 -
iOS之超时页面处理
当用户按home键退出到后台时,对于安全性要求较高的App,我们通常会对它进行页面超时处理,按正常处理方式,可能会这样写:在AppDelegate.m中:- (void)applicationDidEnterBackground:(UIApplication *)application{ //进入后台计时 [UserInfo sharedUserInfo].enterB原创 2016-04-21 16:17:22 · 3092 阅读 · 0 评论 -
在Mac OS X 下配置Android NDK(配置环境变量)
1 . 下载NDK,地址:http://developer.android.com/tools/sdk/ndk/index.html2 . 解压,解压得到的文件夹可以移动到其他文件夹,接下来把它的路径加入到环境变量里就行了3 . 在Launchpad中打开terminal(终端)4 . 输入 vim ~/.bash_profile,回车5 . 按英文键 i 进入编辑模式,在里面添加转载 2016-08-26 14:19:25 · 6336 阅读 · 0 评论 -
JNI开发之打包输出so库
Application.mk文件用于描述应用程序本身的一些属性信息,如应用程序依赖哪些库,应用程序的根目录,应用程序运行在哪些类型指令集的CPU下,还有一些编译选项,在此文件中定义的东西会应用于整个应用程序包括android.mk也会用到这里面的选项。下面我们主要介绍APP_ABI的用途。首先要明白ABI的概念:由于市面上的android智能设备很多也很杂,各种类型各个厂家的芯片,原创 2016-09-27 18:27:15 · 2284 阅读 · 0 评论 -
银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头
签到:获取pinkey、mackey、批次号、银联Pos终端签到、签退、批结算、批上送、PinKey、MacKey、KEK、主密钥、工作密钥、TPDU、报文头原创 2014-11-11 17:33:58 · 12495 阅读 · 0 评论 -
Android安全之防止被反编译
关于防止android apk被反编译的技术,主要介绍以下几种:1、加壳技术(推荐)2、运行时修改字节码3、伪加密4、对抗JD-GUI(推荐)5、完整性校验(推荐)防止apk反编译的技术1---加壳技术一、什么是加壳? 加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。...转载 2017-01-13 17:46:45 · 4895 阅读 · 1 评论 -
PSAM卡之常用APDU指令错误码
我们在PSam卡开发中,经常会遇到各种各样的错误码,常用APDU指令错误码如下:状态码 性质 错误解释9000 正常 成功执行6200 警告 信息未提供6281 警告 回送数据可能出错6282 警告 文件长度小于Le6283 警告 选中的文件无效6284 警告 FCI格式与P2指定的不符6300 警告 鉴别失败63Cx 警原创 2016-12-30 00:15:21 · 8583 阅读 · 0 评论 -
初识CPU卡、SAM卡/CPU卡简介、SAM卡简介
初识CPU卡、SAM卡/CPU卡简介、SAM卡简介IC卡按照接口方式可分为接触式卡、非接触式卡、复合卡;按器件技术可分为非加密存储卡、加密存储卡和CPU卡。 加密存储卡是对持卡人的认证,只有输入正确的密码才能访问或者修改卡中的数据,最典型的是手机SIM卡的PIN码;当设置PIN码后,开机必须输入PIN码,如果连续几次输入错误,就必须更高权限的PUK码来修改PIN码,如果PUK码也连续输错,转载 2016-12-27 17:19:21 · 7765 阅读 · 0 评论