随机数解决大问题之支付宝声波支付原理分析

最近公司的自动取货机管理公司和支付宝搞了一个声波支付功能,并且做了一个活动:通过声波支付可以1分钱买10元的东西。各位同事忙的不亦乐乎。我也加入到了其中。让我不解的是,声波可以被录下,如果声波传递的时重要的支付信息,那么岂不是非常的不安全。后来经过多方了解,原来我真是杞人忧天了。声波支付根本就不是这样子的。

整个支付分为三部分,取货机,手机,支付宝后台。

流程如下图所示:



首先支付宝后台要维护一张表,假设为sound_purchases。此表共有两个字段,第一个字段为用户的唯一ID,第二个字段为生成的随机且唯一的随机码。

步骤如下:

1. 手机端以当前登录账号ID为参数请求支付宝提供的生成随机码接口,此接口在sound_purchases中增加一条记录,将登录账号ID存入用户的唯一ID字段中,并且生成随机码存随机码字段。

2. 支付宝返回随机码给手机。

3. 手机拿到随机码后将随机码以声音的形式传递给取货机。

4. 取货机收到声音后解码出来随机码,将随机码和购买东西所需要花费的钱数作为支付接口的参数请求给支付宝后台,此接口根据随机码可以找到用户,支付宝扣掉此用户需要花费的钱。

5. 支付宝返回给取货机支付完成信息。


这只是我简化的流程。实际上随机码应该有一个定时过期机制来保证安全。

不知所说是否正确,还请支付宝的员工如有看到,还请更正。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值