1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

为什么支付宝线下扫码支付不用联网?

Discussion in '知乎日报' started by 漂亮的石头, 2016-10-02.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,766
    Likes Received:
    47
    日报标题:不联网也可以支付宝扫码付款,这真的安全吗?


    在实体店付款的时候,只需让营业员扫描支付宝的条形码即可。

    一开始还开流量,但是后来发现即使手机没有联网,对方也可成功扫码,唯一的区别是会专程短信告知付款成功。

    然而很好奇,没有联网,支付宝是如何自行生成条形码的?这条形码每分钟自动更新,实时变化,又如何始终代表你的账户?确定扣的是你的钱?

    问了一下周围的同学,很多人都不知道可以不联网。

    [​IMG] Ivony,装配脑袋一路走好。

    刷你银行卡的时候,你的银行卡需要联网吗?

    作为支付凭证,本来就不需要联网,只需要读取方可以确认你的账户就可以了。

    而条码定时刷新则是为了防止盗刷的情况出现,银行卡是通过在磁条上储存卡号之外的信息来实现验证的。

    所以,支付宝只要通过某种算法,把你的账户和某些验证信息一起算出一个条码就可以了,并不需要联网。

    刚刚思考了一下,算法很可能是这样:

    支付宝支付凭证(支付宝登陆时,连上网时,由服务器端定时推送) + 自增标识

    通过某种算法得到一个条码

    服务器端扫到这个条码解出支付宝支付凭证,再到库中查询对应账号,然后验证自增标识大于上次付款的自增标识,则认为支付合法。

    这个算法足够安全:

    1、支付凭证是由服务器端下发,也就是说你的账号如果没有在手机登陆,就绝对不可能被付款,在手机登录后,只有你的这个手机知道支付凭证,不可能通过其他手段算出。

    2、支付凭证定期更新,即使破解出支付凭证,届时支付凭证已经过期。

    3、自增标识可以避免拍照盗刷,即使拍到你的条码信息,只要进行一次支付,那么拍到的条码就作废了,或者我们可以约定每过多久自增标识就要增加 1,这样即使你不进行支付,拍下来的条码在一段时间内也会作废。

    阅读原文
     
Loading...