全球每天消耗上百亿个二维码,一旦用完了怎么办?
我们不清楚其他国家的生活和二维码之间的关系,但至少在中国,二维码已经和我们日常绑在一起,我们很难想象一个离开了二维码的生活是什么样子,万一二维码用完了呢?
二维码是谁发明的?
二维码种类很多,常见的有QR Code、Data Matrix、Code 16K、MaxiCode、Aztec、Vericode、PDF417、Code 49等,很多产品上都会贴上各种标准的二维码,但我们日常使用的,比如各种支付码格式是QR Code,所以来自国外的朋友会用QR Code来称呼我们日常使用的各种支付码!下文以QR CODE来说明。
QR Code码是1994年由日本DW公司发明的,它诞生后,就在信息量大,纠错能力强等优点绝杀了二维码,在日本和全世界应用广泛,我们日常也已经离不开二维码,平均每天都会扫码数个甚至数十个,而各种支付码为保证安全是即时产生的,即用过一次即失效,下次重新产生,那么吃瓜群众有一个问题,会不会某天二维码用完了呢?
QR CODE数据编码方式
要说明会不会用完,首先得来了解下QR CODE编码方式,下图是一张QR CODE基底图,不含信息,仅仅表示编码:
QR CODE最明显的特征是除了右下角外其他三个角上是一个巨大的回字形定位标志,其他主要的区域有数据与容错,版本信息,纠正标志等,包含QR CODE能不能用完的关键是数据编码的排列组合能不能穷尽!一个QR CODE最大的能包含多少信息呢?
一张小小的二维码搭载的信息量是惊人的,那么它所包含的组合总共可以有多少种呢?
QR CODE空白区域表示0,黑色区域表示1,那么数一数它最大面积的版本有多少格子就能算出它有多少种可能了!QR CODE总共有40种不同密度的结构:
最小的版本1编码模块为21×21,编码数量总有:2^(21×21)
最大的版本40为177×177,编码数量总共有:2^(177×177)码
前者大约有5.6×10^132个编码
后者大约有:9.3×10^9430个二维码
可能大家对这个数量并没啥概念,但宇宙中的原子数量总共之有10^80个,所以即使是最小的的那个二维码也可以给宇宙中每个原子编制一个二维码,而且还绰绰有余!而更大的版本40则可以对所有的“平行宇宙”进行编码,也许还是编不完!
QR CODE的容错功能
从上文我们知道了QR CODE是用不完的,但QR CODE本身包含的信息量太大,而我们有又用不到这些新的时候就有新的玩法了,我们可以将容错信息编制进去,当QR CODE污损时将会起到纠错作用!
从7%到30%不等,但纠错效果越好,面积也将越大,所以大部分都取折中的15%纠错率,优点类似于服务器中硬盘阵列,牺牲容量的方式来保证数据的安全性,如下是硬盘阵列的容错比例:
RAID0:无容错,可靠性降低一半
RAID1:可以损坏一半硬盘
RAID5,可以损坏一个硬盘
RAID10,可以损坏一半硬盘(理想状态下)
当然硬盘阵列的的容错和QR CODE容错原理是不一样的,但两者宗旨是一样的,保证数据安全!
QR CODE的安全性
其实我们要说的不是加密,而是包含有害信息,因为它是隐含的信息,因此即使包含有害信息我们也无法看到,比如包含欺骗、诱导或者淫秽色情甚至木马等信息时危害是很大的,因此对于来历不明的二维码我们要谨慎“扫一扫”,而且手机上安全软件不要忘了装!