文/科技民兵
我在研究生期间恶补过一些关于二维码原理的论文,正好借这个问题的机会跟大家分享一下。题主所说的雷同,应该就是两个二维码中黑白小块大小、位置、数量完全一致的意思,先说结论:如果仅仅看外观,现实生活中是存在长相雷同的二维码的。
大家可能会疑惑了,二维码雷同,那不就“泄密”了吗?这里大家有个误区,把二维码当成了一种加密方法,属于随机生成的密钥,其实并不是,二维码只是原始信息的一种图形化表达,好比中文翻译成英文,只是把字符、中/日文字、数字等转译成了黑白方块的矩阵,其目的并不是防止别人识别。如果原始信息不同,那么生成的二维码自然不同,但是不同的原始信息,如果采用的编码方式有差异,是有可能产生雷同的二维码的。
题主的疑问可以分解为以下两点:
(1) 二维码有没有被人类用完的可能?
(2)有没有可能存在相同的二维码,但是其原始信息却不一样?
可能这也是很多朋友的疑问,全世界每天有很多人都在使用二维码,据估计可能一天产生的二维码就达上百亿,那么长此以往下去,二维码不就用完了吗?万一哪天别人新生成的支付宝收款码正好是我之前用过的,那钱岂不是就转给我了?哈哈,我想说,你想得美。马云爸爸会允许吗?下面就我自己的理解,给大家讲讲其中的原理。
首先需要先补充一点二维码的知识,不感兴趣的朋友可以直接跳到文末解答疑问的部分。
二维码原理简介通俗的讲,二维码就是使用某些特定几何图形按照一定规律排列从而达到记录符号信息的一种编码技术,编码的输入端是网址、电子名片、邮件地址等,输出端是二维的黑白方块矩阵。编码的码制有很多种,最常见的就是QR(Quick-Response) code,此外还有Data Matrix, Maxi Code等等。
典型的QR code如上图所示,主要分为功能图形、编码区格式两大块,其中功能图形包括位置探测图形、位置探测图形分隔符、定位图形和校正图形
“三个位置相关的图形,用于对二维码的定位,对每个QR码来说,他们的位置都是固定存的,只是规格不同而已”
校正图形:与规格对应,一旦规格定下来,校正图形的数量和位置也就确定了
格式信息:这个代表二维码的纠错级别,二维码总共有为L、M、Q、H四种纠错等级,L最低,H最高,等级越高,二维码可被正确扫描的概率就越大,但同时二维码可携带的有效信息也会变少
版本信息:可以理解为二维码的规格,QR码符号共有40种规格的矩阵(一般为黑白色),从21x21(版本1),到177x177(版本40),每一版本符号比前一版本 每边增加4个模块
数据和纠错码:数据就是指真实编码后的内容,比如网址对应的黑白块,纠错字是为了纠正传输过程中丢失部分信息后,能正确解码用的,日常生活中二维码经常会被人为扭曲、磨损,此时纠错码就派上用场了。
二维码特点一:编码的数据容量量有限制二维码对编码的数据容量是有限制的,你给我一本新华字典,我肯定是无法给你生成二维码的,因为新华字典字太多了,远远超出了二维码容许的数据上限。
上图是QR码可以容纳的数据容量表,可以看出,通过QR码制来生成二维码,最多容纳7089个数字或者4296个字母,如果是中文汉字,那么采用UTF-8编码的汉字最多可以容纳984个,差不多一个头条问答的字数。这样就从源头上保证了可以被转成二维码的信息是有限制的。
二维码特点二:二维码的编码是可逆的,原始信息和二维码一一对应二维码的所有编码步骤都是可逆的,如果给我一个二维码,并且告诉我编码步骤中的参数设定,我一定可以把原始信息给解出来,这就从原理上保证了原始信息和二维码的一一对应关系。确实,二维码的“长相”是有限的,但是可用于编码的数据量也是有限的,而且二维码的数量是大于可编码信息的组合数量的,这也是保证原始信息和二维码一一对应的数学证据。
回答上面的两个问题(1)二维码有没有被人类用完的可能?
答:问题本身不成立,这是错误的把二维码当成了凭空生成的密钥之类的东西了,实际上可用于生成二维码的数据量(数字、字幕、汉字、日文)就是有限的,并且小于二维码在数学上的数量上限,所以本身问题就不成立。
(2)有没有可能存在相同的二维码,但是其原始信息却不一样?
答:如果仅从“长相”上相同,即黑白块数量、大小、位置都一样,是有可能对应的原始信息不一样的,这是因为二维码的编码,是原始信息+纠错级别+编码类型(数字、字母、汉字 等)+版本信息四项因子一起构造的,两个不同的信息,比如和“周杰伦”,如果选择的纠错级别、编码类型、二维码版本不一样,是可能生成“长相”完全一致的二维码的。如果两张“长相”一样的二维码,而且纠错级别、编码类型、版本信息也完全一致,那么逆推出的原始信息,一定是一样的。
衍生问题有朋友可能会继续问,既然能被生成二维码的信息是有限的,那么总有一天所有组合都被人类用完了,这个时候肯定会出现重复的二维码,这个怎么保证安全呢?事实上,二维码除了以上维度以外,还有一个时间维度,二维码分静态二维码和动态二维码,静态二维码永远有效,而动态二维码则在一定时间内有效,比如支付宝的付款码,这有点像计算机中的HDCP动态分配IP地址技术,如果某个用户下线了,那么他的IP地址会分配给新上线的用户,这样就能保证一个局域网内的IP地址够用的,当然如果用户量达到上限,还是要新增IP地址范围的,这也是IPv6存在的主要原因。
结束语时间关系,先解释这么多,应该可以解答题主的疑问了。以上信息主要信息来自于我研究生期间看过的几篇论文,是我个人的理解,如果有错误,欢迎指正。
我是科技民兵,一个有温度的科技作者,如果对于这个话题有想说的,可以在下面留言给我。
个人认为可以从四方面来辨别与防范,仅供大家参考: 首先通过搜索引擎进行搜索时,搜索结果里一些比较知名的官网都会有认证的字样,没有认证的官网谨慎进入时。 第二,假如不小心进入钓鱼网站之后,留意网址是否...
想组建靠谱的SEO优化团队,首先是找到资深的SEO优化负责人,让SEO优化负责人去组建团队。 目前一个SEO优化部门应该包括SEO优化负责人,编辑人员,推广人员,美工,程序员,客服。 如果企业的预算并...
一、可是使用快捷键暂时替换对“显示桌面”图标的依赖,快捷键是“windows键+D”。 二、点击“开始→运行”,在弹出的“运行”对话框中输入“REGSVR32 /n /i:u shell32”(不含...
网站其实不分什么类型,关键在于内容。 比如新浪搜狐这样的门户网站,难道就不赚钱了? 比如猫扑天涯这样的综合型论坛,难道就不赚钱了? 重要的在于网站里的内容。 有的人一个网站就一个单页,其实就是一封销售...
随着科技时代到来,互联网IT行业也强势崛起,而其中ui设计是一个非常具有潜力及发展前景的职业,待遇水平在互联网行业中也是佼佼者,因此想要学习ui设计的人也越来越多。在学习的过程中大家首先就会想到找个培...
现在棋牌类APP都有现成的开发模板,做一个app的话可能成本不到一万。但后期还可能涉及到app的运维方面,一个app出来不可能没有任何问题,如果还要算上后期版本迭代的话,那就是一个不好说的问题了,一般...
阿里巴巴等B2B的盈利基本上都是以下几种: (一)会员费 企业通过第三电子商务平台参与电子商务交易,必须注册为B2B网站的会员,每年要交纳一定的会员费,才能享受网站提供的各种服务,目前会员费已...
COM NET ORG 都是 100左右/1年 com.cn .cn 都段时间貌似是 1元/1年 现在不知道有没了反正不贵.CC 的 一般 400元 /1年不过 理论上是 同样的好...