在日常生活中,二维码可以说是随处可见了。比如账号登录、移动支付、乘坐公交等等,现在进出小区都要扫二维码看健康出行状况了。二维码真的是无处不在,你也可以生成你自己的二维码,如:个人网站、名片、Email 地址、短信等,本站提供的二维码生成工具,均支持生成上述二维码。
中国虽然不是二维码技术的发源地,但却是二维码最大的应用国家。根据《中国互联网络发展状况统计报告》里的数据,早在 2016 年,中国二维码平均每天的使用量就已超过 15 亿次,相当于每人每天使用一次二维码。另外,根据央视此前报道,截至 2019 年年中,我国二维码应用已经占全球九成以上。
但对于这个每天都接触的二维码,很多人并不了解,不清楚它的前世今生,不知道它的工作原理,甚至还会陷入骗局之中。今天,我就来和你聊一聊二维码的故事。
在聊二维码之前,先简单介绍下它的大哥 —— 一维码。一维码也叫做条形码,就是商品包装上面由黑条和空白组合成的一个图形标识符。一维码是世界上第一种信息码,它诞生于 1949 年,但由于当时设计的扫码机器过于笨重和昂贵,因此,这项技术直到 1974 年才正式得到应用。
最初,一维码被超市用来跟踪和销售商品。后来,一维码被广泛应用于各行各业和各个领域,包括防伪、图书、物流等等。不过,一维码自身存在很多缺陷,比如数据容量较小、只能包含字母和数字、遭到损坏后便不能阅读等等。
为了弥补这些遗憾,20 世纪 80 年代,二维码技术诞生了。当时,市面上的二维码种类非常丰富,二维码标准有几十种。经过一番混战后,来自日本的二维码码制 QR Code 成了最大的赢家。这也是我们现在常见的二维码码制。
1994 年,日本电装公司(Denso Wave)发明了 QR Code,最初发明它的目的是记录汽车零部件数据信息,以便追踪。由于 QR Code 是开放式授权,没有申请专利,也不向外界使用者收取费用,所以它被广泛地应用于各个领域,如今成了二维码的代名词。
和一维码相比,二维码的信息承载量更大,能表达的信息更加多样化。比如,同样是识别商品,一维码只能展示出商品的名称、价格、产地等少量基础信息,二维码则可以展示出更详尽的信息,甚至扫码后还能获得图片、视频、音频等不同类型的信息。此外,二维码的信息表达能力也更强。当二维码遭受 50% 的污损时,仍有可能恢复信息,并被正确识读。
21 世纪初,二维码进入我国,并结合报业获得了短暂发展。当时,纸媒还处于发展黄金期,结合二维码技术,可以实现内容和形式上的创新。比如,《北京晚报》就在新闻报道边上贴了个二维码,扫码可以链接到其它新鲜内容上去;《精品购物指南》的二维码能让用户看到商品的使用效果、多角度展示等等。
这些现在看来没什么大不了的事情,在当时可以用“神奇”二字来形容了。它打破了人们对于信息的传统认知,也给空间有限的报纸提供了更多增量内容。不过,受限于当时的条件和硬件设施,二维码并没有真正发展起来,直到 2012 年,二维码才在中国迅速爆发。
2012 年 5 月,微信正式推出“扫一扫”功能;9 月,新浪微博也上线二维码功能。此外,支付宝、搜狗输入法等多家互联网企业都已前后开通了二维码功能。马化腾更是在当年预言道:“未来二维码将成为移动互联网的重要入口。”
如今,二维码成了移动互联网的“标配”,我们的购物、吃饭、登录等行为都离不开它。但在扫码的过程中,有人也许会有疑问:这个码安全吗?会不会泄露我个人信息?我扫描的二维码是不是钓鱼网站?这便涉及到二维码安全问题了(本站提供了二维码解析工具,可以反向解析出一张二维码图片对应的内容)。
拿二维码扫描登录这件事来说,其实它的本质就是一种登录认证方式,二维码在中间共有 3 个状态:待扫描、已扫描待确认、已确认。
- 在待扫描状态下,PC 端向服务端发送请求,告诉服务端我要生成用于登录的二维码,并把 PC 端设备信息也传递给服务端。服务端收到请求后,生成二维码 ID,并将 ID 与 PC 端设备信息绑定,之后把二维码 ID 返回给 PC 端。一来一回,PC 端收到二维码 ID 后,就生成了二维码。
- 用户用手机扫完 PC 端二维码之后,获取了其中的二维码 ID,再调用服务端 API,将移动端的身份信息与二维码 ID 一起发给服务端。服务端将二者绑定,并生成一个临时 token 返回给手机端。这时候,二维码状态就变成了“已扫描”。
- 手机端在收到临时 token 后,会弹出确认登录界面。用户点击确认时,手机端携带临时 token,调用服务端接口,告诉服务端我已经确认。服务端收到确认后,根据二维码 ID 绑定的设备信息与账号信息,生成用于 PC 端登录的 token。这时候, 这时候,二维码状态就变成了“已确认”。
由此可见,通过二维码进行扫码登录,并不是把你的账号密码从手机端传给了 PC 端,而是通过 token 认证机制来实现的。当然,如果你碰到了可疑的二维码,安全起见,还是不扫为妙。
你在生活中使用频率最高的二维码是什么?你是否了解它背后的技术原理呢?