导读:在几乎任何需要付款的场合,人们只需要拿出手机扫一扫二维码,就可以轻松完成整个支付过程,简单、快捷而且足够安全。
在万物互联的时代,信息技术的发展日新月异,人们对于新兴事物的接受速度越来越快,这一点在中国尤为显著。曾几何时,人们还将现金视为随身携带的必备物品。而仅仅不到十年时间,人们外出购物、旅行,已经不再需要携带现金,在几乎任何需要付款的场合,人们只需要拿出手机扫一扫二维码,就可以轻松完成整个支付过程,简单、快捷而且足够安全。
事实上,二维码的应用绝不仅仅局限于支付领域。电子票务、会议签到、食品溯源、个人健康码、网络账号登录、积分兑换、防伪识别、电子名片等等,都会用到二维码。可以说,我们的生活已经越来越离不开二维码的使用。目前,全球每天消耗的二维码数量高达上百亿个,预计未来还将大幅增加。那么,二维码的总容量到底有多大,万一哪天用完了怎么办呢?
要回答这个问题,我们必须先从一维码,也就是条形码说起。二战刚刚结束的第三个年头,美国费城的一名大学生无意间听到当地一家连锁超市的总裁恳请院长研究一种可以在收银台处自动记录商品销售情况的方法,院长认为这是异想天开,但是这名叫伯纳德·塞尔沃的大学生却当真了,开始和他的同学约瑟夫·伍德兰德一起用心研究这种方法。
经过一段时间的尝试,塞尔沃决定使用莫尔斯电码中的点线,并将其设置成粗细不一的条纹,以此来实现信息标识功能。
此后,经过二十多年的努力,塞尔沃和伍德兰德发明了世界上第一套条形码及其扫描器系统。这项发明首先被用于商品流通领域,之后又扩展到图书管理、邮政管理、银行系统、流水线生产等许多领域。条形码的使用,仅在商品流通领域,每年就能够节省十几亿美元。不过,条形码的发明者——塞尔沃和伍德兰德却没有因此而实现暴富。
条形码的原理说起来也很简单。它是由宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。利用黑白条纹之间存在非常大的反射率,当扫描器的光线扫过时,可以读出条形码中的信息。不过,一维的条形码只能包含一些简单的编码信息。
1994年,日本科学家原昌宏在一维码的基础上增加了一个维度,发明了可以存储大量信息的二维码。二维条码是用某种特定的几何图形按照一定的规律在平面(二维方向上)分布的、黑白相间的、记录数据符号信息的图形。
在代码编制上,二维码巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息。在二维码中,白点代表0,黑点代表1。信息被编码为二进制的形式,然后再根据某种规律分布在两个维度上。
制作二维码输入的信息可以分为三类,一类是文本信息,比如名片信息;二类是字符信息,比如网址、电话号码;三类是图片信息,甚至还可以包括简短的视频。二维码扫描器会按照相应的规则来读取这三类信息,这样我们就可以知道二维码上面表达的信息是什么。
二维码的优势有很多,比如高密度编码,信息容量大;编码范围广;容错能力强,具有纠错功能;译码可靠性高;可引入加密措施;制作成本低,持久耐用等。
当前,二维码的横竖矩阵共有40种,最小为21×21,最大为177×177。我们日常生活中常用的支付宝二维码是25×25,微信个人名片是37×37。
其实不管是哪一种矩阵类型,都有一些固定不变的区域。每个二维码中都有三个黑色的大方块用于扫描定位,不包含任何信息。如果我们把这些不包含任何信息的小格子刨除,那么25×25矩阵中有478个包含信息的小格子,这些小格子理论上能够组成2^478种不同的二维码。
2^478是什么概念呢?就算是全世界近80亿人口每个人都拿着一部手机,同时按住手机屏幕刷新二维码,也需要按大概10^134次才能刷完所有种类的二维码。
这还只是25×25矩阵的二维码。我们再来看一下33×33矩阵的二维码,去掉定位用的147个小格子,它一共包含了942个表示信息的小格子,这些小格子理论上能够组成2^942种不同的二维码,即3.7×10^283(37后面跟了282个0)。这又是个什么概念呢?
如果按照目前的消耗速度,即全球每天消耗100亿个二维码,每年消耗3.65万亿个二维码,那么33×33矩阵的二维码足够人类使用1000万亿亿…前后总计33个亿…亿亿年。
而177×177矩阵的二维码,理论上能够组成的排列组合更是一个天文数字。换句话说,我们担心二维码终有一天会用完,比杞人忧天还要忧天。
退一万万步讲,即便有一天二维码真的用完了,人们还可以开发出更恐怖的三维码,它的变换排列组合要比二维码高出整整一个维度!
最后,我们平时在扫描二维码的时候,一定要提高警惕,不去扫描那些不明来历的二维码和不明身份人的二维码信息。另外,在超市等场合排队付款的时候,有些人习惯提前调出自己的付款二维码,这么做会给一些不法分子提供可乘之机,他们可能趁你不注意的时候在你身后扫码把钱转到他们的手机上去。因此,在排队扫码付款的时候,我们要注意前后排队人群的相隔距离,确认安全后再调出付款二维码展示给收银员。