当前位置:首页 > 建站优化 > 正文内容

二维码生成系统网站源码(android 生成二维码源码)

zhuangbi888.com2021-03-26 09:20建站优化946

文/科技民兵

我在研究生期间恶补过一些关于二维码原理的论文,正好借这个问题的机会跟大家分享一下。题主所说的雷同,应该就是两个二维码中黑白小块大小、位置、数量完全一致的意思,先说结论:如果仅仅看外观,现实生活中是存在长相雷同的二维码的。

大家可能会疑惑了,二维码雷同,那不就“泄密”了吗?这里大家有个误区,把二维码当成了一种加密方法,属于随机生成的密钥,其实并不是,二维码只是原始信息的一种图形化表达,好比中文翻译成英文,只是把字符、中/日文字、数字等转译成了黑白方块的矩阵,其目的并不是防止别人识别。如果原始信息不同,那么生成的二维码自然不同,但是不同的原始信息,如果采用的编码方式有差异,是有可能产生雷同的二维码的。

题主的疑问可以分解为以下两点:

(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存在的主要原因。

结束语时间关系,先解释这么多,应该可以解答题主的疑问了。以上信息主要信息来自于我研究生期间看过的几篇论文,是我个人的理解,如果有错误,欢迎指正。

我是科技民兵,一个有温度的科技作者,如果对于这个话题有想说的,可以在下面留言给我。

相关文章

官方网站和门户网站的区别(社交网站和门户网站的区别)

官方网站和门户网站的区别(社交网站和门户网站的区别)

模板网站,譬如:dz、wp、梦织等,程序固定,换个模板样式又一样了 智能建站,应该是上面把各种网站形式都给铺好了,譬如点下dz,dz就安装好了,你只要填充内容即可 营销型网站,就是为实现某种特定的营销...

佛山建设企业网站(巴中免费建设企业网站)

这个收费看您网站的需求来定的,做网站几千到几万块都有。一般企业网站来说,模板网站大概2000左右,不会超过5000块钱,如果是定制网站的话,都在5000块钱以上,普遍是1-3万之间。佛山的网站建设公司...

国内外有哪些好的摄影网站?

国内外有哪些好的摄影网站?

1:DIY Photography DIY Photography 是在2006年创建的一个摄影网站。网站提供各种摄影技术,并展现全球最好的和最具启发性的摄影作品。 2:Digital Photogr...

怎么注册网站域名,费用(域名注册费用多少)

怎么注册网站域名,费用(域名注册费用多少)

这个问题问得比较宽泛,不知道你对网站域名有没有特殊要求,如果没有可以选老域名,蝙蝠侠IT分别介绍一下他们的特点供你参考: 一.新域名 不是特殊类型的新域名,它的价钱是比较实惠的。 域名的价格主要根据...

怎么解析二级域名?

怎么解析二级域名?

  设置步骤:  1、登录万网,找到“我的域名”,点开,在域名后面,有一个解析。打开它。  2、点击“新增解析”正式开始添加二级域名  3、如果二级域名指向是一个解析服务器,请在记录类型选择CNAME...

百度域名收录(百度网盘域名格式)

百度域名收录(百度网盘域名格式)

企业在给网站做推广的时候,想要让网站在搜索引擎中获得良好的排名,就必须要让网站有一个良好的收录情况,要不然网站排名是不会有任何提升的。那么,如何改善网站收录不好的问题呢? 1、域名 网站域名对网站的...

网站底部信息用js写法-javascript 书写软件

也就是在底部位置居中, 你可以在底部,在网页foot部分的底部,之前,放入一个div, 写法: 要放入的文字在css中写入: .jz{width=1000px; margin:0 auto;text-...

iis7创建网站(iis搭建网站详细教程)

搭建环境:windows2008;iis7.0 前提:我们在搭建网站前,一定要检查自己的电脑上是否安装了iis,如果没有安装,请先把iis安装好。 搭建网站具体步骤: 1、首先在控制面板中打开...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。