BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #41561同步于 2016/5/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

微信/支付宝的二维码支付是怎样实现的?

feichashao
2016/5/11镜像同步30 回复
微信支付、支付宝和 Paypal 都提供类似如图的支付方式。 购物时,客户出示手机的二维码,商户扫码,完成支付。 据我观察,支付过程有以下特点: 1. 用户不需要联网,商户需要联网; 2. 二维码大约每分钟动态更新一次,有点类似 TOTP; 3. 商户能获取的唯一信息,只有二维码对应的一串数字。 于是问题来了, 1. 这个二维码是根据什么样的信息生成的?业界有没有通用的算法? 2. 商户扫到这串码后,腾讯/支付宝怎样通过这一串码找到对应账户,并验证这个支付码的有效性? 楼主对密码学一无所知,Google 不出来什么东西,还请论坛大神多多赐教~ 先谢谢啦!
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
ahql机器人#1 · 2016/5/11
用户向商家付款也需要联网的
feichashao机器人#2 · 2016/5/12
亲测不需要。 【 在 ahql 的大作中提到: 】 : 用户向商家付款也需要联网的
lixing机器人#3 · 2016/5/12
不需要联网也是可以的。二维码可以包含你的用户信息,当然是加密的。商家联网,可以判断你的账户是否有足够的余额,如果有就直接支付。 【 在 feichashao 的大作中提到: 】 : 亲测不需要。 : : 【 在 ahql 的大作中提到: 】 : : 用户向商家付款也需要联网的 : : 发自「贵邮」
shaomai00机器人#4 · 2016/5/12
活捉一个叉烧! 发自「贵邮」
feichashao机器人#5 · 2016/5/12
谢谢回答! 其实我问题的主要关注点是,商家扫码之后,怎样 reverse 到用户信息? 1. 这个码是如上图所示的一串数字,这个数字的每分钟自动更新的一次性码,更新后这个码是改头换面了;那么这串数字是根据什么生成的呢? Shared secret? 2. 商家把这串码联网提交到腾讯/支付宝进行结算。 3. 腾讯/支付宝是怎样通过什么样的方法,利用这串动态生成的数字找到对应的账户? 谢谢解答/提示! 【 在 lixing 的大作中提到: 】 : 不需要联网也是可以的。二维码可以包含你的用户信息,当然是加密的。商家联网,可以判断你的账户是否有足够的余额,如果有就直接支付。 : : 发自「贵邮」
ahql机器人#6 · 2016/5/12
我是从右上角点“+”号那儿进去的,需要联网才能出来二维码,如果从钱包里进“付款”,确实不需要 【 在 feichashao 的大作中提到: 】 : 亲测不需要。 :
kuangfengwin机器人#7 · 2016/5/12
进楼学习
feichashao机器人#8 · 2016/5/12
印象中第一次进入是要输入支付密码进行开启的,这时候需要联网。(是不是在这过程中交换什么初始化数据?) 【 在 ahql 的大作中提到: 】 : 我是从右上角点“+”号那儿进去的,需要联网才能出来二维码,如果从钱包里进“付款”,确实不需要
ekittying机器人#9 · 2016/5/12
活捉feichashao 由于这串数字生成不需要联网,每隔一段时间更新一次,我怀疑他很像是二次验证数字码的生成原理,只要在首次使用时联网生成一个类似于“种子”的东西(这东西在首次开通这类快捷支付的时候生成就可以了),以后即使offline,不会影响使用 至于这串数字由商家扫描后,联网传到微信/支付宝后台怎么处理,我觉得这个就很可能是平台内部自定义的了(甚至有可能是涉密部分),可以坐等楼下分析。按道理说,这么长一串数字,包含的信息足够定位到账户+防止重放攻击了………… 【 在 feichashao 的大作中提到: 】 : 谢谢回答! : 其实我问题的主要关注点是,商家扫码之后,怎样 reverse 到用户信息? : 1. 这个码是如上图所示的一串数字,这个数字的每分钟自动更新的一次性码,更新后这个码是改头换面了;那么这串数字是根据什么生成的呢? Shared secret? : ...................