REST Resource: hashList

Ressource: HashList

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 également qu'une liste de hachage et qu'il peut être désigné 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 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 de hachage complète.

Si 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 sérieusement obsolète, soit les données du client sont considérées comme corrompues. Le champ compressedRemovals est 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 des index de suppression encodée au format Rice-delta. Étant donné que chaque liste de hachage comporte certainement moins de 2^32 entrées, les index sont traités comme des entiers de 32 bits et encodés.

minimumWaitDuration

string (Duration format)

Les clients doivent attendre au moins aussi longtemps avant d'obtenir à nouveau la liste de hachage. Si la valeur est omise ou égale à zéro, les clients DOIVENT récupérer immédiatement l'élément, car cela indique qu'une mise à jour supplémentaire doit être envoyée au client sur le serveur, mais qu'il n'a pas pu 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"

metadata

object (HashListMetadata)

Métadonnées sur la liste de hachage. Ce 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 en dents de riz. La longueur des préfixes de hachage des ajouts est la même pour tous les ajouts de la liste. Il peut s'agir du desired_hash_length envoyé 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 "oneof" pour permettre l'utilisation de plusieurs algorithmes de hachage. Le serveur peut également omettre ce champ (si aucune mise à jour n'a été fournie) pour indiquer au client qu'il 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, hachée à nouveau avec SHA256.

Chaîne encodée en base64.

RiceDeltaEncoded32 bits

Les données encodées en glaçage de riz. Utilisé pour les hachages ou les index de suppression. Ici, il est garanti que chaque hachage ou index a la même longueur, qui est exactement de 32 bits.

En règle générale, si nous trions toutes les entrées de manière lexicographique, nous constaterons 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 de plus grande importance sont susceptibles d'être zéro, 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: tout d'abord, l'encodage Rice-delta est désormais disponible avec les préfixes de hachage de plus de 4 octets ; Ensuite, les données encodées sont désormais traitées en mode 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 dans les 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 saisie 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 delta dans les données encodées. Si un seul entier a été encodé, la valeur sera 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.

RiceDeltaEncoding64 bits

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 dans les 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 saisie 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 delta dans les données encodées. Si un seul entier a été encodé, la valeur sera 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.

RiceDeltaEncoding128Bit

Identique à RiceDeltaEncoded32Bit, mais 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 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)

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 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 delta dans les données encodées. Si un seul entier a été encodé, la valeur sera 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, mais 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 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 à 192e bits sont tous des zéros.

firstValueFourthPart

string (uint64 format)

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 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 delta dans les données encodées. Si un seul entier a été encodé, la valeur sera 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 une sorte de liste de menaces, et énumère le type de menaces associées aux hachages ou aux préfixes de hachage dans cette liste de hachage. Ce champ peut être vide si l'entrée ne représente pas une menace, c'est-à-dire si le type est probablement sûr.

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 probablement sûrs, et énumère les manières dont ils sont considérés comme vraisemblablement sûrs. Ce champ et le champ menaceTypes 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 prendre en charge au moins une longueur. Ce champ ne sera donc pas vide.

ThreatType

Types de menaces.

Enums
THREAT_TYPE_UNSPECIFIED Type de menace inconnu. Si celui-ci est renvoyé par le serveur, le client ignorera l'FullHashDetail qui la contient.
MALWARE

Type de menace par des logiciels malveillants. 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 de tromper les internautes et de les inciter à effectuer une action qui ne ferait confiance qu'à un véritable agent de ce tiers. L'hameçonnage est un type d'ingénierie sociale qui amène le spectateur à effectuer une action spécifique : 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 applicables aux logiciels de Google, mais qui ne sont pas des logiciels malveillants.
POTENTIALLY_HARMFUL_APPLICATION Type de menace d'application potentiellement dangereuse utilisé par Google Play Protect pour le Play Store.

LikelySafeType

Types de sites susceptibles de présenter un risque.

Notez que SearchHashesResponse ne contient pas intentionnellement LikelySafeType.

Enums
LIKELY_SAFE_TYPE_UNSPECIFIED Inconnu.
GENERAL_BROWSING Ce site est probablement suffisamment sûr pour la navigation générale. On parle également de 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 de vérifier la protection par mot de passe.
DOWNLOAD Ce site est probablement suffisamment sûr pour qu'il n'ait pas besoin d'être vérifié.

HashLength

Longueur des hachages dans 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 au serveur (dans le champ desiredHashLength), auquel 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 est 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 contenu le plus récent d'une liste de hachage.