REST Resource: hashList

Ressource: HashList

Une liste de hachages identifiés par son nom.

Représentation JSON
{
  "name": string,
  "version": string,
  "partialUpdate": boolean,
  "compressedRemovals": {
    object (RiceDeltaEncoded32Bit)
  },
  "minimumWaitDuration": 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.

  // Union field checksum can be only one of the following:
  "sha256Checksum": string
  // End of list of possible types for union field checksum.
}
Champs
name

string

Nom de la liste de hachage. Notez que le cache global n'est qu'une simple liste de hachage, que vous pouvez consulter 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

Lorsque la valeur est "true", il s'agit d'une différence partielle comprenant des ajouts et des suppressions basés sur les données déjà disponibles dans le client. Si la valeur est "false", il s'agit de la liste de hachage complète.

Lorsque la valeur est "false", le client DOIT supprimer toute version stockée localement pour cette liste de hachage. Cela signifie que soit la version détenue par le client est très obsolète, soit les données du client sont soupçonnées d'être corrompues. Le champ compressedRemovals sera vide.

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

compressedRemovals

object (RiceDeltaEncoded32Bit)

Version des index d'extraction, encodée au format delta de riz. Étant donné que chaque liste de hachage comporte certainement moins de 2^32 entrées, les index sont traités comme des entiers 32 bits et encodés.

minimumWaitDuration

string (Duration format)

Les clients doivent attendre au moins ce temps pour obtenir à nouveau la liste de hachage. En cas d'omission ou de zéro, les clients DOIVENT récupérer immédiatement l'accès, car cela indique que le serveur a une mise à jour supplémentaire à envoyer au client, mais ce n'est pas possible en raison des contraintes spécifiées par le client.

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

metadata

object (HashListMetadata)

Métadonnées sur la liste de hachage. Il n'est pas renseigné par la méthode hashList.get, mais par la méthode ListHashLists.

Champ d'union compressed_additions. Version des ajouts encodées au format Rice-delta. La longueur des préfixes de hachage des ajouts est uniforme pour tous les ajouts de la liste. Il peut s'agir de la valeur desired_hash_length envoyée par le client ou 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)

Ajouts de 4 octets.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Ajouts de 8 octets.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Ajouts de 16 octets.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Ajouts de 32 octets.

Champ d'union checksum. 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. Il s'agit d'un champ "oneof" qui autorise plusieurs algorithmes de hachage. Le serveur peut également ignorer ce champ (si aucune mise à jour n'a été fournie) pour indiquer que le client doit utiliser la somme de contrôle existante. checksum ne peut être qu'un des éléments suivants :
sha256Checksum

string (bytes format)

Liste triée de tous les hachages, une nouvelle fois hachée avec SHA256.

Chaîne encodée en base64.

RiceDeltaEnCod32Bit

Les données encodées en Rice-Golomb. Utilisé pour les hachages ou les index de suppression. C'est garanti que chaque hachage ou index a ici la même longueur, et que cette longueur est exactement de 32 bits.

En règle générale, si nous trions toutes les entrées de façon 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 zéro. Cette méthode 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 zéro. C'est pourquoi nous utilisons l'encodage unaire. Consultez le champ riceParameter.

Remarque historique: L'encodage du delta de riz a été utilisé pour la première fois dans la version 4 de cette API. Dans la version 5, deux améliorations significatives 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)

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

riceParameter

integer

Paramètre Golomb-Rice. La valeur de ce paramètre est comprise 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é, la valeur est zéro 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 qu'il 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 à saisir est zéro.

riceParameter

integer

Paramètre Golomb-Rice. La valeur de ce paramètre est comprise entre 35 et 62 inclus.

entriesCount

integer

Nombre d'entrées encodées en delta dans les données encodées. Si un seul entier a été encodé, la valeur est zéro 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.

RiceDeltaEnCod128Bit

Identique à 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

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

firstValueLo

string (uint64 format)

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

riceParameter

integer

Paramètre Golomb-Rice. La valeur de ce paramètre est comprise 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é, la valeur est zéro 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 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 dans les données encodées (hachages). Si le champ est vide, les 64 premiers bits sont tous des zéros.

firstValueSecondPart

string (uint64 format)

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

firstValueThirdPart

string (uint64 format)

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

firstValueFourthPart

string (uint64 format)

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

riceParameter

integer

Paramètre Golomb-Rice. La valeur de ce paramètre est comprise 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é, la valeur est zéro 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 sur une liste de hachage particulière.

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

enum (ThreatType)

Liste à puces. Si ce champ 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é aux hachages ou préfixes de hachage de cette liste. Peut être vide si l'entrée ne représente pas une menace, c'est-à-dire si elle représente un type de sécurité vraisemblablement sans danger.

likelySafeTypes[]

enum (LikelySafeType)

Liste à puces. Si ce champ n'est pas vide, cela indique que la liste de hachage représente une liste de hachages susceptibles d'être sûrs et énumère en quoi ils sont considérés comme probablement sûrs. Ce champ et le champ ThreatTypes s'excluent mutuellement.

mobileOptimized

boolean

Indique si cette liste est optimisée pour les appareils mobiles (Android et iOS).

description

string

Description lisible de cette liste. Rédigé en anglais.

supportedHashLengths[]

enum (HashLength)

Longueurs de hachage acceptées pour cette liste de hachage. Chaque liste de hachage peut accepter au moins une longueur. Ce champ ne sera donc pas vide.

ThreatType

Types de menaces.

Enums
THREAT_TYPE_UNSPECIFIED Type de menace inconnu. Si le serveur renvoie cette valeur, le client ne doit pas tenir compte de la FullHashDetail qui l'englobe.
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 pour le compte d'un tiers dans le but d'inciter les internautes à effectuer une action qui ne leur ferait confiance qu'à un véritable agent de ce tiers. L'hameçonnage est un type d'ingénierie sociale qui amène l'utilisateur à effectuer une action spécifique consistant à fournir des informations, telles que des identifiants de connexion.

Pour en savoir plus, cliquez ici.

UNWANTED_SOFTWARE Type de menace logicielle indésirable. Un logiciel indésirable est un logiciel qui ne respecte pas les principes de Google concernant les logiciels, mais qui n'est pas un logiciel malveillant.
POTENTIALLY_HARMFUL_APPLICATION Type de menace d'application potentiellement dangereuse tel qu'il est utilisé par Google Play Protect sur le Play Store.

LikelySafeType

Types de sites sans risque.

Notez que SearchHashesResponse ne contient pas LikelySafeType intentionnellement.

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

HashLength

Longueur des hachages d'une liste de hachage.

Enums
HASH_LENGTH_UNSPECIFIED Longueur non spécifiée. Le serveur ne renvoie pas cette valeur dans les réponses au client (dans le champ supportedHashLengths), mais le client est autorisé à l'envoyer (dans le champ desiredHashLength). Dans ce cas, le serveur sélectionne une valeur automatiquement. 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 correspond à un préfixe de 16 octets.
THIRTY_TWO_BYTES Chaque hachage est un hachage complet de 32 octets.

Méthodes

get

Récupérez le dernier contenu d'une liste de hachage.