- 資源:HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- 方法
資源:HashList
以名稱識別的雜湊清單。
| JSON 表示法 | 
|---|
| { "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( | 
| 欄位 | |
|---|---|
| name | 
 雜湊清單的名稱。請注意,全域快取也只是一個雜湊清單,可以在此處參照。 | 
| version | 
 雜湊清單的版本。用戶端絕對不得操縱這些位元組。 Base64 編碼字串。 | 
| partialUpdate | 
 如果為 true,則表示這是部分差異,包含根據用戶端已有內容新增和移除的項目。如果為 false,則為完整的雜湊清單。 如果為 false,用戶端就必須刪除此雜湊清單的所有本機儲存版本。這表示用戶端擁有的版本嚴重過時,或是用戶端資料疑似損毀。 如果為 true,用戶端就必須先移除再新增,才能套用遞增更新。 | 
| compressedRemovals | 
 移除索引的 Rice-delta 編碼版本。由於每個雜湊清單的項目數量絕對少於 2^32,因此系統會將索引視為 32 位元整數並進行編碼。 | 
| minimumWaitDuration | 
 用戶端至少要等待這麼久,才能再次取得雜湊清單。如果省略或為零,用戶端應立即擷取,因為這表示伺服器有其他更新要傳送給用戶端,但因用戶端指定的限制而無法傳送。 以秒為單位的時間長度,最多可有 9 個小數位數,結尾為「 | 
| sha256Checksum | 
 經過排序的所有雜湊清單,並再次使用 SHA256 雜湊處理。這是在套用提供的更新後,資料庫中所有雜湊值排序清單的總和檢查碼。如果未提供任何更新,伺服器會略過這個欄位,表示用戶端應使用現有的總和檢查碼。 Base64 編碼字串。 | 
| metadata | 
 雜湊清單的中繼資料。這並非由  | 
| 聯集欄位 compressed_additions。新增項目的 Rice-delta 編碼版本。新增項目的雜湊前置字串長度,在清單中的所有新增項目都相同。compressed_additions只能是下列其中一項: | |
| additionsFourBytes | 
 4 個位元組的新增項目。 | 
| additionsEightBytes | 
 8 個位元組的新增項目。 | 
| additionsSixteenBytes | 
 16 位元組的附加項目。 | 
| additionsThirtyTwoBytes | 
 32 位元組的新增項目。 | 
RiceDeltaEncoded32Bit
Rice-Golomb 編碼資料。用於雜湊或移除索引。這可確保每個雜湊或索引的長度都相同,且長度恰好為 32 位元。
一般來說,如果我們依字典順序排序所有項目,會發現高階位元通常不會像低階位元那樣經常變更。也就是說,如果我們也計算項目之間的相鄰差異,較高階位元很可能會為零。這個方法會利用零值的高度機率,基本上會選擇特定位元數量;所有比這更重要的位元都可能為零,因此我們會使用單一編碼。請參閱 riceParameter 欄位。
歷史註解:Rice-delta 編碼最初是在這個 API 的 V4 版中使用。在 V5 中,我們做出了兩項重大改善:首先,現在可使用 Rice-delta 編碼,雜湊前置字串長度超過 4 個位元組;其次,現在會將已編碼資料視為 big-endian,以免進行耗時的排序步驟。
| JSON 表示法 | 
|---|
| { "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } | 
| 欄位 | |
|---|---|
| firstValue | 
 編碼資料 (雜湊或索引) 中的第一個項目,或如果只編碼單一雜湊前置字元或索引,則為該項目的值。如果欄位為空白,則項目為零。 | 
| riceParameter | 
 Golomb-Rice 參數。這個參數保證會介於 3 到 30 (含頭尾) 之間。 | 
| entriesCount | 
 在已編碼資料中,差異編碼的項目數量。如果只編碼單一整數,這個值會設為零,而單一值會儲存在  | 
| encodedData | 
 使用 Golomb-Rice 編碼器編碼的已編碼差異值。 Base64 編碼字串。 | 
RiceDeltaEncoded64Bit
與 RiceDeltaEncoded32Bit 相同,但會對 64 位元數字進行編碼。
| JSON 表示法 | 
|---|
| { "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } | 
| 欄位 | |
|---|---|
| firstValue | 
 編碼資料 (雜湊) 中的第一個項目,或如果只編碼單一雜湊前置字串,則為該項目的值。如果欄位為空白,則項目為零。 | 
| riceParameter | 
 Golomb-Rice 參數。這個參數保證會介於 35 到 62 之間 (含頭尾)。 | 
| entriesCount | 
 在已編碼資料中,差異編碼的項目數量。如果只編碼單一整數,這個值會設為零,而單一值會儲存在  | 
| encodedData | 
 使用 Golomb-Rice 編碼器編碼的已編碼差異值。 Base64 編碼字串。 | 
RiceDeltaEncoded128Bit
與 RiceDeltaEncoded32Bit 相同,但會對 128 位元數值進行編碼。
| JSON 表示法 | 
|---|
| { "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } | 
| 欄位 | |
|---|---|
| firstValueHi | 
 已編碼資料 (雜湊) 中第一個項目的上 64 位元。如果欄位為空白,則上層 64 位元皆為零。 | 
| firstValueLo | 
 編碼資料 (雜湊) 中第一個項目的低位元 64 位元。如果欄位為空白,則較低的 64 位元全為零。 | 
| riceParameter | 
 Golomb-Rice 參數。這個參數保證會介於 99 和 126 (含) 之間。 | 
| entriesCount | 
 在已編碼資料中,差異編碼的項目數量。如果只編碼單一整數,這個值會設為零,而單一值會儲存在  | 
| encodedData | 
 使用 Golomb-Rice 編碼器編碼的已編碼差異值。 Base64 編碼字串。 | 
RiceDeltaEncoded256Bit
與 RiceDeltaEncoded32Bit 相同,但會對 256 位元數字進行編碼。
| JSON 表示法 | 
|---|
| { "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } | 
| 欄位 | |
|---|---|
| firstValueFirstPart | 
 已編碼資料 (雜湊) 中第一個項目的前 64 位元。如果欄位為空白,前 64 位元都會是零。 | 
| firstValueSecondPart | 
 編碼資料 (雜湊) 中第一個項目的 65 到 128 位元。如果欄位為空白,則第 65 到 128 位元都會是零。 | 
| firstValueThirdPart | 
 編碼資料 (雜湊) 中第一個項目的第 129 到 192 位元。如果欄位為空白,則第 129 到 192 位元都會是零。 | 
| firstValueFourthPart | 
 已編碼資料 (雜湊) 中第一個項目的最後 64 位元。如果欄位為空白,最後 64 位元都會是零。 | 
| riceParameter | 
 Golomb-Rice 參數。這個參數保證會介於 227 和 254 之間 (含頭尾)。 | 
| entriesCount | 
 在已編碼資料中,差異編碼的項目數量。如果只編碼單一整數,這個值會設為零,而單一值會儲存在  | 
| encodedData | 
 使用 Golomb-Rice 編碼器編碼的已編碼差異值。 Base64 編碼字串。 | 
HashListMetadata
特定雜湊清單的中繼資料。
| JSON 表示法 | 
|---|
| { "threatTypes": [ enum ( | 
| 欄位 | |
|---|---|
| threatTypes[] | 
 未排序的清單。如果不為空白,則表示雜湊清單是一種威脅清單,並列舉與此雜湊清單中的雜湊或雜湊前置字元相關的威脅類型。如果項目不代表威脅 (也就是代表可能安全的類型),則可能會留空。 | 
| likelySafeTypes[] | 
 未排序的清單。如果不為空白,則表示雜湊清單代表一組可能安全的雜湊,並列舉這些雜湊可能安全的情況。此欄位與 threatTypes 欄位互斥。 | 
| description | 
 這個清單的使用者可讀說明。以英文撰寫。 | 
| hashLength | 
 此雜湊清單支援的雜湊長度。每個雜湊清單都只支援一個長度。如果針對相同的威脅類型或安全類型引入不同的雜湊長度,系統會以獨立清單的形式引入,並附上不同的名稱和相應的雜湊長度集。 | 
ThreatType
威脅類型。
| 列舉 | |
|---|---|
| THREAT_TYPE_UNSPECIFIED | 不明的威脅類型。如果這是由伺服器傳回,用戶端應完全忽略內含的 FullHashDetail。 | 
| MALWARE | 惡意軟體威脅類型。只要軟體或行動應用程式會刻意危害電腦、行動裝置、這些裝置執行的軟體或其使用者,就屬於惡意軟體。惡意軟體的危害行為包括:未經使用者同意便擅自安裝軟體,以及安裝病毒等有害軟體。 詳情請參閱這篇說明文章。 | 
| SOCIAL_ENGINEERING | 社交工程威脅類型。社交工程頁面會假冒第三方,意圖誤導使用者採取行動,而使用者只會信任第三方的真實代理人。網路釣魚是一種社交工程,會誘騙觀眾執行特定動作,例如提供登入憑證等資訊。 詳情請參閱這篇說明文章。 | 
| UNWANTED_SOFTWARE | 垃圾軟體威脅類型。垃圾軟體是指任何違反 Google 的軟體規範但非惡意軟體的軟體。 | 
| POTENTIALLY_HARMFUL_APPLICATION | Google Play 安全防護用於 Play 商店的可能有害應用程式威脅類型。 | 
LikelySafeType
可能安全的網站類型。
請注意,SearchHashesResponse 刻意不包含 LikelySafeType。
| 列舉 | |
|---|---|
| LIKELY_SAFE_TYPE_UNSPECIFIED | 未知。 | 
| GENERAL_BROWSING | 這個網站可能足夠安全,可供一般瀏覽。這也稱為全域快取。 | 
| CSD | 這個網站可能已足夠安全,因此不需要執行用戶端偵測模型或密碼保護檢查。 | 
| DOWNLOAD | 這個網站可能相當安全,因此您不需要檢查從該網站下載的內容。 | 
HashLength
雜湊清單中的雜湊長度。
| 列舉 | |
|---|---|
| HASH_LENGTH_UNSPECIFIED | 未指定長度。 | 
| FOUR_BYTES | 每個雜湊都是四個位元組的前置字元。 | 
| EIGHT_BYTES | 每個雜湊都是八個位元組的字首。 | 
| SIXTEEN_BYTES | 每個雜湊都是十六位元前置字串。 | 
| THIRTY_TWO_BYTES | 每個雜湊都是 32 個位元組的完整雜湊。 | 
| 方法 | |
|---|---|
| 
 | 取得雜湊清單的最新內容。 | 
