一、資料檢核的意義:
當資料儲存在磁碟或是要從一台電腦傳送到另一台時,我們會希望在傳送過程中,資料不會因為任何原因而被改變。然而,有時候還是會發生一些意外性錯誤,使資料毀損或改變。因此,如何在資料受損而被改變時,能夠及時發現並修正它,即為資料檢核之意義。
資料檢核是檢測發射機到接收機的傳輸期間由雜訊或其他原因所致的錯誤。
資料糾正是檢測錯誤並重建無錯誤的原樣資料。
(二) 老師會任意在
最右一行、最下一列
增加同位卡(Parity Card)
,讓它看起來更複雜。
(三) 老師會轉過去,閉上眼睛、忍住呼吸不看。
請同學 隨意指定畫面的一個格子為黑色或白色。
讓老師猜猜,是否可以猜到此張牌是哪一個?
三、資料檢核方式:
資料檢測方式,通常為 添加一些額外資料 到訊息,從而使接收器可以用它來檢查訊息的一致性,並恢復被確定為損壞的資料。
資料檢核的系統性方案中,發射端傳送原始資料,並且附加一些演算法從資料位元匯出的固定數量的校驗位(或奇偶校驗資料)。接收端進行的校驗位比較。如果值不匹配,則傳輸期間的某個點位發生錯誤。方式如下:
(一)重複編碼檢核法:
重複編碼是在頻道上重複位元資訊以實現無差錯通訊的編碼方案。
例如: 要傳送位元「1011」,四位元塊則再重複三次而產生「1011 1011 1011」。但是,如果此例中收到12位元資訊為「1010 1011 1011」,其中一個塊不同於其他兩個,則可以確定已經發生錯誤。
缺點:
1.重複編碼非常低效。
2.如果錯誤在每個組的完全相同的地方發生,則很容易出現問題
(例如: 上例中正巧錯誤為「1010 1010 1010」,將被檢測為傳輸無誤)。
優點:
它非常簡單,並實際上用於某些數位電台的傳輸。
(三)校驗和:
訊息的校驗和是固定字長(例如位元組值)的位元組碼的模組計算數的加權和。
校驗和 可能在傳輸前用一補數(餘數)以檢測訊息出現的錯誤。
↑ 超商條碼三個barcode意義 財政部台北國稅局
→欣榮瓦斯繳費單 欣欣天然氣股份有限公司
(四)迴圈冗餘校驗(CRC)、加密雜湊函式(Hash function):
加密雜湊函式的輸出也稱訊息摘要,它可以提供強力的資料完整性保證。
無論資料改變是偶然(如: 傳輸錯誤),還是被惡意加入,
對資料的任何修改都可用檢測雜湊值是否匹配判斷。
雜湊函式的加密方式通常有:MD5、SHA1、CRC32、SHA256、SHA512...越後面加密處理越精細。
資料來源: 維基百科 雜湊函式
◎練習I: 檢驗檔案雜湊值(checksum)是否吻合?
1.開啟桌面 Hash My File 檢驗工具。
2.至audacity官方網站下載(旁邊有checksum-sha256可以對照)
也可至相關軟體下載網站(一般而言,較注重資訊安全的軟體,下載頁面都會提供 checksum)
3.檢驗是否符合。
◎練習II: 計算商品的驗證碼
1.全球交易品項識別碼 GTIN: (資料來源:GTIN)
GTIN (Global Trade Item Number) 為識別商品品項的全球獨一性編號,就商品的資料管理而言,GTIN 代表商品品項,並且對應至資料庫中的商品資料,或對應至交易的訊息。 GTIN 包括零售單品、交易包裝單位如箱、盒等,在管理上必須與資料庫中的商品資料或交易訊息對應,以便讓供應鏈的各階段業者可讀取、流通共用。
絕大多數的零售商品都採用 GTIN-13,GTIN-13 的資料結構,是由「 GS1 國家代號」、「廠商代號」、「商品代號」及「檢核碼」所組成,用以識別交易項目、位置及特殊應用等。
2.GTIN-13 計算方式: (資料來源:GTIN)
檢核碼是為防止掃瞄裝置閱讀條碼時之誤判,故加上一位數的檢核碼。檢核碼是依固定之計算方式求得的。以 GS1-13 碼 471 1234 456789 為例,其計算方式如下:
步驟1: 將您的廠商號碼與產品號碼12個位數,依序填在設定條碼行之空格內。
步驟2: 將偶位數的數值相加乘以3。
步驟3: 將奇數位的數值相加。
步驟4: 將步驟2及步驟3之結果相加。 結果值/10 = 餘數。
步驟5: 如果餘數為 0,檢核碼為 0 ; 否則,以 10 - 步驟4之餘數 , 所得即為 檢核碼。
3.請計算以下兩張商品的檢核碼: