回覆列表
  • 1 # 快樂的囉嗦

    題主的疑問可以分解為以下兩點:

    (1) 二維碼有沒有被人類用完的可能?

    (2)有沒有可能存在相同的二維碼,但是其原始資訊卻不一樣?

    可能這也是很多朋友的疑問, 全世界每天有很多人都在使用二維碼,據估計可能一天產生的二維碼就達上百億,那麼長此以往下去,二維碼不就用完了嗎?萬一哪天別人新生成的支付寶收款碼正好是我之前用過的,那錢豈不是就轉給我了?哈哈,我想說,你想得美。馬雲爸爸會允許嗎?下面就我自己的理解,給大家講講其中的原理。

    首先需要先補充一點二維碼的知識,不感興趣的朋友可以直接跳到文末解答疑問的部分。

    二維碼原理簡介

    通俗的講,二維碼就是使用某些特定幾何圖形按照一定規律排列從而達到記錄符號資訊的一種編碼技術,編碼的輸入端是網址、電子名片、郵件地址等,輸出端是二維的黑白方塊矩陣。編碼的碼制有很多種,最常見的就是QR(Quick-Response) code,此外還有Data Matrix, Maxi Code等等。

    典型的QR code如上圖所示,主要分為 功能圖形、 編碼區格式兩大塊,其中功能圖形包括 位置探測圖形、位置探測圖形分隔符、定點陣圖形和校正圖形

    校正圖形:與規格對應,一旦規格定下來,校正圖形的數量和位置也就確定了

    格式資訊:這個代表二維碼的糾錯級別,二維碼總共有為L、M、Q、H四種糾錯等級,L最低,H最高,等級越高,二維碼可被正確掃描的概率就越大,但同時二維碼可攜帶的有效資訊也會變少

    版本資訊:可以理解為二維碼的規格,QR碼符號共有40種規格的矩陣(一般為黑白色),從21x21(版本1),到177x177(版本40),每一版本符號比前一版本 每邊增加4個模組

    資料和糾錯碼:資料就是指真實編碼後的內容,比如網址對應的黑白塊,糾錯字是為了糾正傳輸過程中丟失部分資訊後,能正確解碼用的,日常生活中二維碼經常會被人為扭曲、磨損,此時糾錯碼就派上用場了。

    二維碼特點一:編碼的資料容量量有限制

    二維碼對編碼的資料容量是有限制的,你給我一本新華字典,我肯定是無法給你生成二維碼的,因為新華字典字太多了,遠遠超出了二維碼容許的資料上限

    二維碼特點二:二維碼的編碼是可逆的,原始資訊和二維碼一一對應

    二維碼的所有編碼步驟都是可逆的,如果給我一個二維碼,並且告訴我編碼步驟中的引數設定,我一定可以把原始資訊給解出來,這就從原理上保證了原始資訊和二維碼的一一對應關係。確實,二維碼的“長相”是有限的,但是可用於編碼的資料量也是有限的,而且二維碼的數量是大於可編碼資訊的組合數量的,這也是保證原始資訊和二維碼一一對應的數學證據。

    0 2

    回答上面的兩個問題

    (1)二維碼有沒有被人類用完的可能?

    (2)有沒有可能存在相同的二維碼,但是其原始資訊卻不一樣?

    答:如果僅從“長相”上相同,即黑白塊數量、大小、位置都一樣,是有可能對應的原始資訊不一樣的,這是因為二維碼的編碼,是原始資訊+糾錯級別+編碼型別(數字、字母、漢字 等)+版本資訊四項因子一起構造的, 兩個不同的資訊,比如www.baidu.com和“周杰倫”,如果選擇的糾錯級別、編碼型別、二維碼版本不一樣,是可能生成“長相”完全一致的二維碼的。如果兩張“長相”一樣的二維碼,而且糾錯級別、編碼型別、版本資訊也完全一致,那麼逆推出的原始資訊,一定是一樣的。

    0 3

    衍生問題

    有朋友可能會繼續問,既然能被生成二維碼的資訊是有限的,那麼總有一天所有組合都被人類用完了,這個時候肯定會出現重複的二維碼,這個怎麼保證安全呢?事實上,二維碼除了以上維度以外,還有一個時間維度,二維碼分靜態二維碼和動態二維碼,靜態二維碼永遠有效,而動態二維碼則在一定時間內有效,比如支付寶的付款碼,這有點像計算機中的HDCP動態分配IP地址技術,如果某個使用者下線了,那麼他的IP地址會分配給新上線的使用者,這樣就能保證一個區域網內的IP地址夠用的,當然如果使用者量達到上限,還是要新增IP地址範圍的,這也是IPv6存在的主要原因。

  • 2 # 宋v第三幕

    基本上所有二維碼都有三個大方塊,作為位置探測定位,不同的區別就是定點陣圖形的不同,其他的就是一些資料這類的,

    二維碼底層仍然脫離不了0和1,看似是黑白塊,其實它就是0 1

  • 3 # 我是石老大

    可以這樣理解,所以的二維碼就是無數的字元拼接,但是這些字元在普通人眼裡都是無序,無意義的,其實他是有規律的加密序列,通過特定的解密程式進行轉換,就會生成有意義的文字。但是各個軟體使用的加密演算法及規則不同,所以導致了他們是不一樣的。

  • 中秋節和大豐收的關聯?
  • GUCS區塊鏈在全球流通嗎?