2 回答

TA貢獻1860條經(jīng)驗 獲得超8個贊
校驗和是依賴項的哈希值。您要查找的文檔是https://go.dev/ref/mod#go-sum-files。
go.sum 中的每一行都有三個由空格分隔的字段:模塊路徑、版本(可能以 /go.mod 結尾)和散列。
模塊路徑是散列所屬模塊的名稱。
版本是散列所屬模塊的版本。如果版本以 /go.mod 結尾,則哈希僅適用于模塊的 go.mod 文件;否則,哈希值用于模塊的 .zip 文件中的文件。
哈希列由算法名稱(如 h1)和 base64 編碼的加密哈希組成,以冒號 (:) 分隔。目前,SHA-256 (h1) 是唯一受支持的哈希算法。如果將來發(fā)現(xiàn) SHA-256 中的漏洞,將添加對另一種算法(名為 h2 等)的支持。
示例 go.sum 行module version hash
就像
github.com/go-chi/chi v1.5.4 h1:QHdzF2szwjqVV4wmByUnTcsbIg7UGaQ0tPF2t5GcAIs= github.com/go-chi/chi v1.5.4/go.mod h1:uaf8YgoFazUOkPBG7fxPftUylNumIev9awIWOENIuEg=

TA貢獻2065條經(jīng)驗 獲得超14個贊
如果您詢問實際如何計算哈希值,即您將哪些輸入提供給 SHA-256 函數(shù),請在此處進行描述: https: //cs.opensource.google/go/x/mod/+/refs/tags/ v0.5.0:sumdb/dirhash/hash.go
這是一個要點,它允許您計算任意目錄的模塊哈希,而無需使用 go: https: //gist.github.com/MarkLodato/c03659d242ea214ef3588f29b582be70
- 2 回答
- 0 關注
- 293 瀏覽
添加回答
舉報