REST Resource: hashList

Ressource : HashList

Liste de hachages identifiée par son nom.

Représentation JSON
{
  "name": string,
  "version": string,
  "partialUpdate": boolean,
  "compressedRemovals": {
    object (RiceDeltaEncoded32Bit)
  },
  "minimumWaitDuration": string,
  "sha256Checksum": string,
  "metadata": {
    object (HashListMetadata)
  },

  // Union field compressed_additions can be only one of the following:
  "additionsFourBytes": {
    object (RiceDeltaEncoded32Bit)
  },
  "additionsEightBytes": {
    object (RiceDeltaEncoded64Bit)
  },
  "additionsSixteenBytes": {
    object (RiceDeltaEncoded128Bit)
  },
  "additionsThirtyTwoBytes": {
    object (RiceDeltaEncoded256Bit)
  }
  // End of list of possible types for union field compressed_additions.
}
Champs
name

string

Nom de la liste de hachages. Notez que le cache global n'est qu'une liste de hachages et peut être référencé ici.

version

string (bytes format)

Version de la liste de hachages. Le client NE DOIT PAS manipuler ces octets.

Chaîne encodée en base64.

partialUpdate

boolean

Si la valeur est "true", il s'agit d'un diff partiel contenant les ajouts et les suppressions en fonction de ce que le client possède déjà. Si la valeur est "false", il s'agit de la liste de hachages complète.

Si la valeur est "false", le client DOIT supprimer toute version stockée localement pour cette liste de hachages. Cela signifie que la version dont dispose le client est sérieusement obsolète ou que les données client sont probablement corrompues. Le champ compressedRemovals sera vide.

Si la valeur est "true", le client DOIT appliquer une mise à jour incrémentielle en supprimant les éléments, puis en les ajoutant.

compressedRemovals

object (RiceDeltaEncoded32Bit)

Version codée en Rice-delta des index de suppression. Étant donné que chaque liste de hachage comporte forcément moins de 2^32 entrées, les index sont traités comme des nombres entiers de 32 bits et encodés.

minimumWaitDuration

string (Duration format)

Les clients doivent attendre au moins ce délai pour obtenir à nouveau la liste de hachages. Si la valeur est omise ou nulle, les clients DOIVENT récupérer immédiatement les données, car cela indique que le serveur a une mise à jour supplémentaire à envoyer au client, mais qu'il n'a pas pu le faire en raison des contraintes spécifiées par le client.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

sha256Checksum

string (bytes format)

Liste triée de tous les hachages, hachée à nouveau avec SHA256. Il s'agit de la somme de contrôle de la liste triée de tous les hachages présents dans la base de données après l'application de la mise à jour fournie. Si aucune mise à jour n'a été fournie, le serveur omet ce champ pour indiquer au client qu'il doit utiliser la somme de contrôle existante.

Chaîne encodée en base64.

metadata

object (HashListMetadata)

Métadonnées concernant la liste de hachages. Cette valeur n'est pas renseignée par la méthode hashList.get, mais par la méthode ListHashLists.

Champ d'union compressed_additions. Version encodée Rice-delta des ajouts. Les longueurs des préfixes de hachage des ajouts sont uniformes pour tous les ajouts de la liste. compressed_additions ne peut être qu'un des éléments suivants :
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Les ajouts de 4 octets.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Les ajouts de 8 octets.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Les ajouts de 16 octets.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Les ajouts de 32 octets.

RiceDeltaEncoded32Bit

Données encodées Rice-Golomb. Utilisé pour les hachages ou les index de suppression. Il est garanti que chaque hachage ou index a la même longueur, à savoir exactement 32 bits.

En règle générale, si nous trions toutes les entrées par ordre lexicographique, nous constatons que les bits d'ordre supérieur ont tendance à ne pas changer aussi souvent que les bits d'ordre inférieur. Cela signifie que si nous prenons également la différence adjacente entre les entrées, les bits d'ordre supérieur ont une forte probabilité d'être nuls. Cela exploite cette forte probabilité de zéro en choisissant essentiellement un certain nombre de bits. Tous les bits plus significatifs que celui-ci sont susceptibles d'être nuls, nous utilisons donc un encodage unaire. Consultez le champ riceParameter.

Note historique : l'encodage Rice-delta a été utilisé pour la première fois dans la version 4 de cette API. Dans la version 5, deux améliorations importantes ont été apportées : premièrement, l'encodage Rice-delta est désormais disponible avec des préfixes de hachage de plus de 4 octets ; deuxièmement, les données encodées sont désormais traitées comme des données big-endian afin d'éviter une étape de tri coûteuse.

Représentation JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Champs
firstValue

integer (uint32 format)

La première entrée des données encodées (hachages ou index) ou, si un seul préfixe ou index de hachage a été encodé, la valeur de cette entrée. Si le champ est vide, la valeur saisie est zéro.

riceParameter

integer

Paramètre Golomb-Rice. Ce paramètre est garanti d'être compris entre 3 et 30, inclus.

entriesCount

integer

Nombre d'entrées encodées par delta dans les données encodées. Si un seul entier a été encodé, cette valeur sera nulle et la valeur unique sera stockée dans firstValue.

encodedData

string (bytes format)

Deltas encodés à l'aide du codeur Golomb-Rice.

Chaîne encodée en base64.

RiceDeltaEncoded64Bit

Identique à RiceDeltaEncoded32Bit, sauf que cette fonction encode des nombres de 64 bits.

Représentation JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Champs
firstValue

string

La première entrée des données encodées (hachages) ou, si un seul préfixe de hachage a été encodé, la valeur de cette entrée. Si le champ est vide, la valeur saisie est zéro.

riceParameter

integer

Paramètre Golomb-Rice. Ce paramètre est garanti d'être compris entre 35 et 62, inclus.

entriesCount

integer

Nombre d'entrées encodées par delta dans les données encodées. Si un seul entier a été encodé, cette valeur sera nulle et la valeur unique sera stockée dans firstValue.

encodedData

string (bytes format)

Deltas encodés à l'aide du codeur Golomb-Rice.

Chaîne encodée en base64.

RiceDeltaEncoded128Bit

Identique à RiceDeltaEncoded32Bit, sauf que cette fonction encode des nombres de 128 bits.

Représentation JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Champs
firstValueHi

string

Les 64 bits supérieurs de la première entrée des données encodées (hachages). Si le champ est vide, les 64 bits supérieurs sont tous nuls.

firstValueLo

string (uint64 format)

Les 64 bits de poids faible de la première entrée des données encodées (hachages). Si le champ est vide, les 64 bits inférieurs sont tous nuls.

riceParameter

integer

Paramètre Golomb-Rice. Ce paramètre est garanti d'être compris entre 99 et 126, inclus.

entriesCount

integer

Nombre d'entrées encodées par delta dans les données encodées. Si un seul entier a été encodé, cette valeur sera nulle et la valeur unique sera stockée dans firstValue.

encodedData

string (bytes format)

Deltas encodés à l'aide du codeur Golomb-Rice.

Chaîne encodée en base64.

RiceDeltaEncoded256Bit

Identique à RiceDeltaEncoded32Bit, sauf que cette fonction encode des nombres de 256 bits.

Représentation JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Champs
firstValueFirstPart

string

Les 64 premiers bits de la première entrée des données encodées (hachages). Si le champ est vide, les 64 premiers bits sont tous nuls.

firstValueSecondPart

string (uint64 format)

Bits 65 à 128 de la première entrée des données encodées (hachages). Si le champ est vide, les bits 65 à 128 sont tous nuls.

firstValueThirdPart

string (uint64 format)

Bits 129 à 192 de la première entrée des données encodées (hachages). Si le champ est vide, les bits 129 à 192 sont tous nuls.

firstValueFourthPart

string (uint64 format)

Les 64 derniers bits de la première entrée des données encodées (hachages). Si le champ est vide, les 64 derniers bits sont tous nuls.

riceParameter

integer

Paramètre Golomb-Rice. Ce paramètre est garanti d'être compris entre 227 et 254, inclus.

entriesCount

integer

Nombre d'entrées encodées par delta dans les données encodées. Si un seul entier a été encodé, cette valeur sera nulle et la valeur unique sera stockée dans firstValue.

encodedData

string (bytes format)

Deltas encodés à l'aide du codeur Golomb-Rice.

Chaîne encodée en base64.

HashListMetadata

Métadonnées concernant une liste de hachages spécifique.

Représentation JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "hashLength": enum (HashLength)
}
Champs
threatTypes[]

enum (ThreatType)

Liste non triée. Si elle n'est pas vide, elle indique que la liste de hachages est un type de liste de menaces et énumère les types de menaces associés aux hachages ou aux préfixes de hachage de cette liste. Ce champ peut être vide si l'entrée ne représente pas une menace, c'est-à-dire s'il s'agit d'un type probablement sûr.

likelySafeTypes[]

enum (LikelySafeType)

Liste non triée. Si cette valeur n'est pas vide, elle indique que la liste de hachages représente une liste de hachages probablement sécurisés et énumère les raisons pour lesquelles ils sont considérés comme probablement sécurisés. Ce champ s'exclut mutuellement avec le champ "threatTypes".

description

string

Description lisible de cette liste. être rédigé en anglais ;

hashLength

enum (HashLength)

Longueur du hachage acceptée pour cette liste de hachages. Chaque liste de hachages ne prendra en charge qu'une seule longueur. Si une longueur de hachage différente est introduite pour le même ensemble de types de menaces ou de types sûrs, elle sera présentée sous la forme d'une liste distincte avec un nom distinct et une longueur de hachage définie.

ThreatType

Types de menaces.

Enums
THREAT_TYPE_UNSPECIFIED Type de menace inconnu. Si le serveur renvoie cette valeur, le client doit ignorer complètement le FullHashDetail qui l'entoure.
MALWARE

Type de menace de logiciel malveillant. Un logiciel malveillant est un logiciel ou une application mobile conçus spécialement pour endommager un ordinateur ou un appareil mobile, perturber le fonctionnement du programme qu'il ou elle exécute, ou nuire à ses utilisateurs. Les logiciels malveillants ont des comportements néfastes. Ils peuvent installer des logiciels sur l'ordinateur de l'internaute sans son consentement et installer des programmes dangereux tels que des virus.

Pour en savoir plus, cliquez ici.

SOCIAL_ENGINEERING

Type de menace d'ingénierie sociale. Les pages d'ingénierie sociale prétendent à tort agir au nom d'un tiers dans le but d'inciter les spectateurs à effectuer une action qu'ils ne feraient que pour un véritable représentant de ce tiers. L'hameçonnage est un type d'ingénierie sociale qui consiste à tromper le spectateur pour l'inciter à effectuer une action spécifique, comme fournir des informations (par exemple, des identifiants de connexion).

Pour en savoir plus, cliquez ici.

UNWANTED_SOFTWARE Type de menace de logiciel indésirable. Les logiciels indésirables sont des logiciels qui ne respectent pas les Principes applicables aux logiciels de Google, mais qui ne sont pas des logiciels malveillants.
POTENTIALLY_HARMFUL_APPLICATION Type de menace d'application potentiellement dangereuse tel qu'utilisé par Google Play Protect pour le Play Store.

LikelySafeType

Types de sites probablement sûrs.

Notez que SearchHashesResponse ne contient intentionnellement pas LikelySafeType.

Enums
LIKELY_SAFE_TYPE_UNSPECIFIED Inconnu.
GENERAL_BROWSING Ce site est probablement suffisamment sécurisé pour la navigation générale. On l'appelle également "cache global".
CSD Ce site est probablement suffisamment sécurisé pour qu'il ne soit pas nécessaire d'exécuter des modèles de détection côté client ni des vérifications de protection par mot de passe.
DOWNLOAD Ce site est probablement suffisamment sécurisé pour que les téléchargements à partir de celui-ci n'aient pas besoin d'être vérifiés.

HashLength

Longueur des hachages dans une liste de hachages.

Enums
HASH_LENGTH_UNSPECIFIED Longueur non spécifiée.
FOUR_BYTES Chaque hachage est un préfixe de quatre octets.
EIGHT_BYTES Chaque hachage est un préfixe de huit octets.
SIXTEEN_BYTES Chaque hachage est un préfixe de seize octets.
THIRTY_TWO_BYTES Chaque hachage est un hachage complet de 32 octets.

Méthodes

get

Obtient le contenu le plus récent d'une liste de hachages.