REST Resource: hashList

Ressource: HashList

Liste de hachages identifiés par leur 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 hachage. Notez que le cache global n'est également qu'une liste de hachage et peut être référencé ici.

version

string (bytes format)

Version de la liste de hachage. 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'une différence partielle contenant des ajouts et des suppressions en fonction de ce que le client possède déjà. Si la valeur est "false", il s'agit de la liste complète des hachages.

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

Si la valeur est "true", le client DOIT appliquer une mise à jour incrémentielle en appliquant des suppressions, puis des ajouts.

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

Les clients doivent attendre au moins ce délai pour obtenir à nouveau la liste de hachage. Si elle est omise ou égale à zéro, les clients DOIVENT effectuer une récupération immédiate, car cela indique que le serveur dispose d'une mise à jour supplémentaire à envoyer au client, mais qu'il ne peut pas 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és à 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 sur la liste de hachage. Ce champ n'est pas renseigné par la méthode hashList.get, mais par la méthode ListHashLists.

Champ d'union compressed_additions. Version encodée Rice-delta des additions. La longueur des préfixes de hachage des ajouts est uniforme pour tous les ajouts de la liste. Il s'agit soit du desired_hash_length envoyé par le client, soit d'une valeur choisie par le serveur si le client a omis ce champ. La 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 indices de suppression. Chaque hachage ou indice a la même longueur, qui est exactement de 32 bits.

En règle générale, si nous trions toutes les entrées par ordre alphabétique, nous constaterons que les bits de plus haut niveau ne changent pas aussi fréquemment que les bits de plus bas niveau. Cela signifie que si nous prenons également la différence adjacente entre les entrées, les bits d'ordre supérieur ont de fortes chances d'être nuls. Cette méthode exploite cette forte probabilité de zéro en choisissant essentiellement un certain nombre de bits. Tous les bits plus significatifs que ce nombre sont susceptibles d'être nuls. Nous utilisons donc l'encodage unaire. Consultez le champ riceParameter.

Remarque 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: d'une part, l'encodage Rice-delta est désormais disponible avec des préfixes de hachage de plus de 4 octets ; d'autre part, les données encodées sont désormais traitées en 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)

Première entrée des données encodées (hachages ou indices), ou, si un seul préfixe ou indice de hachage a été encodé, valeur de cette entrée. Si le champ est vide, la valeur est nulle.

riceParameter

integer

Paramètre Golomb-Rice. Ce paramètre est toujours compris entre 3 et 30, inclus.

entriesCount

integer

Nombre d'entrées encodées en 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 de l'encodeur Golomb-Rice.

Chaîne encodée en base64.

RiceDeltaEncoded64Bit

Identique à RiceDeltaEncoded32Bit, mais encode des nombres de 64 bits.

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

string

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

riceParameter

integer

Paramètre Golomb-Rice. Ce paramètre est garanti entre 35 et 62 ans, inclus.

entriesCount

integer

Nombre d'entrées encodées en 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 de l'encodeur Golomb-Rice.

Chaîne encodée en base64.

RiceDeltaEncoded128Bit

Comme RiceDeltaEncoded32Bit, sauf qu'il encode des nombres de 128 bits.

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

string

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)

64 bits inférieurs 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 entre 99 et 126 inclus.

entriesCount

integer

Nombre d'entrées encodées en 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 de l'encodeur Golomb-Rice.

Chaîne encodée en base64.

RiceDeltaEncoded256Bit

Identique à RiceDeltaEncoded32Bit, sauf qu'il 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 à zéro.

riceParameter

integer

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

entriesCount

integer

Nombre d'entrées encodées en 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 de l'encodeur Golomb-Rice.

Chaîne encodée en base64.

HashListMetadata

Métadonnées d'une liste de hachage spécifique.

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

enum (ThreatType)

Liste non ordonnée. Si la valeur n'est pas vide, cela indique que la liste de hachage est un type de liste de menaces et énumère le type de menaces associées aux hachages ou aux préfixes de hachage de cette liste. Peut être vide si l'entrée ne représente pas de menace, c'est-à-dire si elle représente un type probablement sûr.

likelySafeTypes[]

enum (LikelySafeType)

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

description

string

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

supportedHashLengths[]
(deprecated)

enum (HashLength)

Longueurs de hachage compatibles avec cette liste de hachage. Chaque liste de hachage doit prendre en charge au moins une longueur. Ce champ ne sera donc pas vide.

hashLength

enum (HashLength)

Longueur de hachage compatible avec cette liste de hachage. Chaque liste de hachage accepte exactement 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 forme de liste distincte avec un nom distinct et une longueur de hachage respective 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 l'FullHashDetail englobant.
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 faussement agir au nom d'un tiers dans le but de tromper les spectateurs et de les inciter à effectuer une action qu'ils ne feraient qu'auprès d'un véritable agent de ce tiers. L'hameçonnage est un type d'ingénierie sociale qui consiste à inciter l'utilisateur à effectuer une action spécifique, comme fournir des informations (identifiants de connexion, par exemple).

Pour en savoir plus, cliquez ici.

UNWANTED_SOFTWARE Type de menace de logiciel indésirable. Un logiciel indésirable est un logiciel qui ne respecte pas les Principes applicables aux logiciels de Google, mais qui n'est pas un logiciel malveillant.
POTENTIALLY_HARMFUL_APPLICATION Type de menace d'application potentiellement dangereuse utilisé par Google Play Protect pour le Play Store.

LikelySafeType

Types de sites probablement sûrs

Notez que SearchHashesResponse ne contient pas intentionnellement 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 n'y ait pas besoin d'exécuter de modèles de détection côté client ni de vérifications de la protection par mot de passe.
DOWNLOAD Ce site est probablement suffisamment sécurisé pour que les téléchargements ne nécessitent pas d'être vérifiés.

HashLength

Longueur des hachages dans une liste de hachages.

Enums
HASH_LENGTH_UNSPECIFIED Longueur non spécifiée. Le serveur ne renverra pas cette valeur dans les réponses au client (dans le champ supportedHashLengths), mais le client est autorisé à l'envoyer au serveur (dans le champ desiredHashLength), auquel cas le serveur choisira automatiquement une valeur. Les clients DOIVENT laisser le serveur choisir une valeur.
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 16 octets.
THIRTY_TWO_BYTES Chaque hachage est un hachage complet de 32 octets.

Méthodes

get

Obtenez le dernier contenu d'une liste de hachage.