- 資源: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 的第 4 版。V5 版有兩項重大改良:首先,Rice-delta 編碼現在可搭配長度超過 4 個位元組的雜湊前置字串使用;其次,編碼資料現在會視為大端序,以避免耗費資源的排序步驟。
| 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 |
每個雜湊都是三十二位元組的完整雜湊。 |
方法 |
|
|---|---|
|
取得雜湊清單的最新內容。 |