驗證方法 / OPEN METHODOLOGY
方法論公開・可重算
留下來源、保存指紋、提供重算步驟。讓每個人都能從同一份帳本出發,親自查看資料與差異。
每筆資料,都有回頭查的入口
錨點是一筆可追查的記錄。帳本的 record 清單,將來源網址 source_url、歷史快照網址 wayback 與檔案指紋 sha256 放在一起。
來源網址指向原網頁;快照網址提供歷史版本的線索;指紋供檔案比對。快照欄位空白,表示帳本未提供快照,不應補成已驗證。
把同一份檔案,算成同一串指紋
SHA-256 將檔案的原始位元組轉成 64 位十六進位字元。只要輸入位元組完全相同,每次計算都會得到相同結果。比較的是下載檔案,並非網址字串或肉眼看到的畫面。
「格式正確」只表示這串字元符合寫法。必須取得檔案並重算,才能進一步比較內容是否對得上帳本指紋。
指紋相符支持檔案一致性,不能自動證明文章內容正確、帳本未被修改,或檔案在某個時間已經存在。
保留查看歷史版本的另一條路
原網頁可能更新或消失。帳本若列有 Wayback URL,可以開啟該快照,核對其時間與內容。列出網址本身並不代表這次已確認它可存取。
快照時間可能與帳本擷取時間不同;回放頁面也可能加入工具列或改寫連結。因此,Wayback 回放內容不能直接視為當初計算指紋的原始檔案。
下載腳本與帳本,照步驟對帳
先在專案資料夾執行本機對帳。這一步不需要網路,會逐筆列出網址、指紋與格式判斷:
python3 verify_anchors.py
要比較實際內容,在有網路且已安裝 Python 3、Bash、curl、shasum 的電腦執行:
# 需連網執行
bash verify_anchors.sh --fetch
腳本逐筆下載來源回應本文,用 shasum -a 256 重算,再與帳本比較;下載檔與對帳結果會保留在腳本旁的新資料夾。這次離線交付未執行實際下載。
單獨下載腳本時,也能在命令最後指定帳本路徑。完整操作與所需工具見白話說明。
讓相符、差異與未驗證都看得見
- 相符:本次檔案的指紋與帳本相同,支持兩者對應內容一致。
- 不相符:先查看網頁是否更新,以及編碼、動態內容與擷取方式是否不同;差異本身不能證明造假。
- 下載失敗:沒有可比對的完整下載結果,應標記失敗,不能算作通過。
帳本未記錄當初完整的擷取與前處理方法,今天的直接下載不保證重現舊指紋。若要核對當時版本,需要當時保存的原始檔與取得方式;驗證範圍也應一併公開。