- 資源: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 編碼版本。新增項目的雜湊前置字串長度,在清單中的所有新增項目都相同。這個值可能是用戶端傳送的 desired_hash_length ,也可能是伺服器選擇的值 (如果用戶端省略該欄位)。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 |
這個清單的使用者可讀說明。以英文撰寫。 |
supportedHashLengths[] |
此雜湊清單支援的雜湊長度。每個雜湊清單至少支援一個長度。因此這個欄位不會空白。 |
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 |
未指定長度。伺服器不會在回應中傳回這個值 (在 supportedHashLengths 欄位中) 給用戶端,但用戶端可以將這個值傳送給伺服器 (在 desiredHashLength 欄位中),在這種情況下,伺服器會自動選取值。用戶端應讓伺服器挑選值。 |
FOUR_BYTES |
每個雜湊都是四個位元組的前置字元。 |
EIGHT_BYTES |
每個雜湊都是八個位元組的字首。 |
SIXTEEN_BYTES |
每個雜湊都是十六位元前置字串。 |
THIRTY_TWO_BYTES |
每個雜湊都是 32 位元完整雜湊。 |
方法 |
|
---|---|
|
取得雜湊清單的最新內容。 |