-
1 # 科普有道
-
2 # 科技民兵
大家可能會疑惑了,二維碼雷同,那不就“洩密”了嗎?這裡大家有個誤區,把二維碼當成了一種加密方法,屬於隨機生成的金鑰,其實並不是,二維碼只是原始資訊的一種圖形化表達,好比中文翻譯成英文,只是把字元、中/日文字、數字等轉譯成了黑白方塊的矩陣,其目的並不是防止別人識別。如果原始資訊不同,那麼生成的二維碼自然不同,但是不同的原始資訊,如果採用的編碼方式有差異,是有可能產生雷同的二維碼的。
題主的疑問可以分解為以下兩點:
可能這也是很多朋友的疑問,全世界每天有很多人都在使用二維碼,據估計可能一天產生的二維碼就達上百億,那麼長此以往下去,二維碼不就用完了嗎?萬一哪天別人新生成的支付寶收款碼正好是我之前用過的,那錢豈不是就轉給我了?哈哈,我想說,你想得美。馬雲爸爸會允許嗎?下面就我自己的理解,給大家講講其中的原理。
二維碼原理簡介通俗的講,二維碼就是使用某些特定幾何圖形按照一定規律排列從而達到記錄符號資訊的一種編碼技術,編碼的輸入端是網址、電子名片、郵件地址等,輸出端是二維的黑白方塊矩陣。編碼的碼制有很多種,最常見的就是QR(Quick-Response) code,此外還有Data Matrix, Maxi Code等等。
典型的QR code如上圖所示,主要分為功能圖形、編碼區格式兩大塊,其中功能圖形包括位置探測圖形、位置探測圖形分隔符、定點陣圖形和校正圖形
校正圖形:與規格對應,一旦規格定下來,校正圖形的數量和位置也就確定了
二維碼特點二:二維碼的編碼是可逆的,原始資訊和二維碼一一對應二維碼的所有編碼步驟都是可逆的,如果給我一個二維碼,並且告訴我編碼步驟中的引數設定,我一定可以把原始資訊給解出來,這就從原理上保證了原始資訊和二維碼的一一對應關係。確實,二維碼的“長相”是有限的,但是可用於編碼的資料量也是有限的,而且二維碼的數量是大於可編碼資訊的組合數量的,這也是保證原始資訊和二維碼一一對應的數學證據。
答:如果僅從“長相”上相同,即黑白塊數量、大小、位置都一樣,是有可能對應的原始資訊不一樣的,這是因為二維碼的編碼,是原始資訊+糾錯級別+編碼型別(數字、字母、漢字 等)+版本資訊四項因子一起構造的,兩個不同的資訊,比如www.baidu.com和“周杰倫”,如果選擇的糾錯級別、編碼型別、二維碼版本不一樣,是可能生成“長相”完全一致的二維碼的。如果兩張“長相”一樣的二維碼,而且糾錯級別、編碼型別、版本資訊也完全一致,那麼逆推出的原始資訊,一定是一樣的。
衍生問題有朋友可能會繼續問,既然能被生成二維碼的資訊是有限的,那麼總有一天所有組合都被人類用完了,這個時候肯定會出現重複的二維碼,這個怎麼保證安全呢?事實上,二維碼除了以上維度以外,還有一個時間維度,二維碼分靜態二維碼和動態二維碼,靜態二維碼永遠有效,而動態二維碼則在一定時間內有效,比如支付寶的付款碼,這有點像計算機中的HDCP動態分配IP地址技術,如果某個使用者下線了,那麼他的IP地址會分配給新上線的使用者,這樣就能保證一個區域網內的IP地址夠用的,當然如果使用者量達到上限,還是要新增IP地址範圍的,這也是IPv6存在的主要原因。
-
3 # 充電室
二維碼一共有40個尺寸。官方叫版本Version。Version 1是21 x 21的矩陣,Version 2是 25 x 25的矩陣,Version 3是29的尺寸,每增加一個version,就會增加4的尺寸,公式是:(V-1)*4 + 21(V是版本號) 最高Version 40,(40-1)*4+21 = 177,所以最高是177 x 177 的正方形。
二維碼是用某種特定的幾何圖案按照一定的規律在平面中分佈的黑白相間的圖形記錄資料符號第一代條碼技術,它是由一個二維碼矩陣圖形和一個二維碼號以及下方的說明文字組成的,它具有資訊量大、糾錯能力強、識讀速度快、全方面識讀等特點,手機二維碼是可以印刷在報紙、雜誌、廣告、圖書包裝等多種載體長,透過解碼器也就是掃描軟體解讀其內容,通常這個內容是一個網址或者是一組數字或文字。
修改一下,再仔細講一講!這次圖文並茂的講!
這就要提到一個人類具有劃時代意義的偉大發明:二進位制。
我們平時使用的數字、字母、漢字等各種字元,雖然畫風完全不同,但是機智的人類,發明了一個方法,使它們都可以被統一轉換成由0和1組成的二進位制數字序列。
這個轉換的過程叫做編碼。國際上有幾套通用的編碼規則,我們今天就用一個例子來感受一下,編碼是怎麼回事(字幕QR碼通用編碼規則 ISO18004)。
比如AB這個由兩個英文字母組成的字元。
根據編碼規則,每一個獨立的英文字母都有唯一一個十進位制數字與之對應(畫表)。
而像AB這樣的字串,則要在對應數字的基礎上再做運算。,
而運算結果再轉化成二進位制,就是這一串數字。
哦對了,整個計算機和網際網路文明,都是建立在這種二進位制編碼上的。你現在看的這個影片,在你的手機裡,其實也只是一串0和1而已。、
=======我是分割線==========
-
4 # 條碼標籤列印軟體
二維碼裡面的資料是不一樣的,還有就是二維碼的繪製模組是否是一樣的。二維條碼/二維碼(2-dimensional bar code)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分佈的、黑白相間的、記錄資料符號資訊的圖形;在程式碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”位元流的概念,使用若干個與二進位制相對應的幾何形體來表示文字數值資訊,透過圖象輸入裝置或光電掃描裝置自動識讀以實現資訊自動處理:它具有條碼技術的一些共性:每種碼制有其特定的字符集;每個字元佔有一定的寬度;具有一定的校驗功能等。
回覆列表
首先,二維碼用黑白圖形記錄資料符號資訊,這些圖形按照一定的規則以一定的幾何圖形分佈在一個平面(二維方向)上。在程式碼編譯中,巧妙地利用了構成計算機內部邏輯基礎的“0”和“1”的概念,並用與二進位制相對應的幾種幾何形狀來表示文字數字資訊。自動資訊處理可透過@ K 158390050輸入裝置或光電掃描裝置自動讀取來實現;它具有條形碼技術的一些共同特點:每個編碼系統都有自己特定的字符集。每個字元都有一定的寬度;它具有一定的檢測功能等。同時,它還具有自動識別不同線條資訊和處理圖形旋轉變化點的功能。
其次,二維碼分為堆疊型和矩陣型。目前,矩陣型別是常用的,有幾種矩陣型別,包括code one和qrcode。二維碼現在有多達40個版本。這裡的版本指的是不同的尺寸,從21*21模組到177*177模組,具有不同的尺寸和容量。但是,即使們的大小相同,生成的二維碼也會因容錯率不同而有所不同。