- 资源:HashList
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- RiceDeltaEncoded32Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- RiceDeltaEncoded64Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- RiceDeltaEncoded128Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- RiceDeltaEncoded256Bit
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- HashListMetadata
<ph type="x-smartling-placeholder">
- </ph>
- JSON 表示法
- ThreatType
- LikelySafeType
- HashLength
- 方法
资源:HashList
由名称标识的哈希列表。
JSON 表示法 |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
字段 | |
---|---|
name |
哈希列表的名称。请注意,全局缓存也只是一个哈希列表,可以在此处引用。 |
version |
哈希列表的版本。客户端不得操纵这些字节。 使用 base64 编码的字符串。 |
partialUpdate |
如果为 true,则是部分差异,其中包含基于客户端已有内容的添加和移除。如果为 false,则这是完整的哈希列表。 如果为 false,客户端必须删除此哈希列表的所有本地存储版本。这表示客户端所拥有的版本严重过时,或者认为客户端数据已损坏。 为 true 时,客户端必须依次应用移除和添加来应用增量更新。 |
compressedRemovals |
移除索引的大米增量编码版本。由于每个哈希列表肯定少于 2^32 个条目,因此索引将被视为 32 位整数并进行了编码。 |
minimumWaitDuration |
客户端应至少等待这么长的时间才能再次获取哈希列表。如果省略或为零,客户端应立即提取,因为它表示服务器有其他更新要发送到客户端,但由于客户端指定的限制条件而无法接收。 该时长以秒为单位,最多包含九个小数位,以“ |
metadata |
关于哈希列表的元数据。此标识符不是由 |
联合字段 compressed_additions 。加法的大米增量编码版本。所有加法项的哈希前缀长度都是一致的列表中的所有加法项。该字段要么是客户端发送的 desired_hash_length ,要么是服务器选择的值(如果客户端省略了该字段)。compressed_additions 只能是下列其中一项: |
|
additionsFourBytes |
4 字节加法运算。 |
additionsEightBytes |
8 字节加法。 |
additionsSixteenBytes |
16 字节加法。 |
additionsThirtyTwoBytes |
32 字节加法。 |
联合字段 checksum 。这是应用提供的更新后,数据库中存在的所有哈希的已排序列表的校验和。这是“其中之一”字段以允许使用多个哈希算法。服务器也可以省略此字段(在未提供更新的情况下),以指示客户端应使用现有校验和。checksum 只能是下列其中一项: |
|
sha256Checksum |
所有哈希的已排序列表,使用 SHA256 再次进行哈希处理。 使用 base64 编码的字符串。 |
RiceDeltaEncoded32Bit
Rice-Golomb 编码的数据。用于哈希或移除索引。可以保证此处的每个哈希或索引具有相同的长度,并且该长度恰好为 32 位。
一般来说,如果我们按字典顺序对所有条目进行排序,会发现高阶位的变化频率往往不如低阶位。这意味着,如果加上各条目之间的相邻差值,则高阶位的概率较高,可能为零。这实质上是选择了特定数量的位数,从而充分利用了这种可能性为零的概率;所有有效位可能为零,因此我们使用一元编码。请参阅 riceParameter
字段。
历史备注:Rice-delta 编码首次用于此 API 的 V4 版。V5 进行了两项重大改进:首先,Rice-delta 编码现在提供长度超过 4 个字节的哈希前缀;其次,编码数据现在被视为大端序,以避免成本高昂的排序步骤。
JSON 表示法 |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
字段 | |
---|---|
firstValue |
编码数据中的第一个条目(哈希或索引),或者,如果仅对单个哈希前缀或索引进行编码,则为相应条目的值。如果此字段为空,则条目为零。 |
riceParameter |
Golomb-Rice 参数。此参数必定介于 3 和 30 之间(含 3 和 30)。 |
entriesCount |
在编码数据中采用增量编码的条目数。如果只对单个整数进行编码,则此值为 0,并且单个值将存储在 |
encodedData |
使用 Golomb-Rice 编码器进行编码的编码增量。 使用 base64 编码的字符串。 |
RiceDeltaEncoded64 位
与 RiceDeltaEncoded32Bit
相同,只不过它编码的是 64 位数字。
JSON 表示法 |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
字段 | |
---|---|
firstValue |
编码数据中的第一个条目(哈希),或者,如果只对一个哈希前缀进行编码,则为该条目的值。如果此字段为空,则条目为零。 |
riceParameter |
Golomb-Rice 参数。此参数必定介于 35 和 62 之间(含边界值)。 |
entriesCount |
在编码数据中采用增量编码的条目数。如果只对单个整数进行编码,则此值为 0,并且单个值将存储在 |
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 |
在编码数据中采用增量编码的条目数。如果只对单个整数进行编码,则此值为 0,并且单个值将存储在 |
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 |
在编码数据中采用增量编码的条目数。如果只对单个整数进行编码,则此值为 0,并且单个值将存储在 |
encodedData |
使用 Golomb-Rice 编码器进行编码的编码增量。 使用 base64 编码的字符串。 |
HashListMetadata
有关特定哈希列表的元数据。
JSON 表示法 |
---|
{ "threatTypes": [ enum ( |
字段 | |
---|---|
threatTypes[] |
无序列表。如果不为空,则表示哈希列表是一种威胁列表,并枚举了与此哈希列表中的哈希或哈希前缀相关联的威胁类型。如果条目不代表威胁(例如,如果它表示可能安全的类型),则为空。 |
likelySafeTypes[] |
无序列表。如果不为空,则表示该哈希列表表示可能安全的哈希列表,并枚举这些哈希被认为可能安全的方式。此字段与威胁类型字段互斥。 |
mobileOptimized |
此列表是否针对移动设备(Android 和 iOS)进行了优化。 |
description |
有关此列表的直观易懂的说明。用英语编写。 |
supportedHashLengths[] |
此哈希列表支持的哈希长度。每个哈希列表至少支持一个长度。因此,此字段不会为空。 |
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 |
每个哈希都是一个 8 字节的前缀。 |
SIXTEEN_BYTES |
每个哈希都是一个 16 字节的前缀。 |
THIRTY_TWO_BYTES |
每个哈希都是 32 字节的全哈希。 |
方法 |
|
---|---|
|
获取哈希列表的最新内容。 |