- Zasób: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- Metody
Zasób: HashList
Lista skrótów z nazwą.
| Zapis JSON |
|---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
| Pola | |
|---|---|
name |
Nazwa listy skrótów. Pamiętaj, że pamięć podręczna globalna to też tylko lista skrótów, do której możesz się odwołać. |
version |
Wersja listy skrótów. Klient NIE MOŻE manipulować tymi bajtami. Ciąg zakodowany w formacie Base64. |
partialUpdate |
Jeśli wartość to „true”, jest to częściowa różnica zawierająca dodatki i usunięcia na podstawie tego, co klient już ma. Jeśli wartość jest fałszywa, jest to pełna lista skrótów. Jeśli wartość to „false”, klient MUSI usunąć każdą lokalnie przechowywaną wersję tej listy skrótów. Oznacza to, że wersja posiadana przez klienta jest bardzo nieaktualna lub dane klienta są prawdopodobnie uszkodzone. Pole Jeśli wartość to „true”, klient MUSI zastosować aktualizację przyrostową, usuwając elementy, a następnie dodając nowe. |
compressedRemovals |
Wersja zakodowana za pomocą kodowania Rice-delta indeksów usuwania. Każda lista skrótów ma mniej niż 2^32 pozycji, więc indeksy są traktowane jako 32-bitowe liczby całkowite i kodowane. |
minimumWaitDuration |
Klienci powinni odczekać co najmniej tyle czasu, zanim ponownie pobiorą listę skrótów. Jeśli wartość jest pominięta lub wynosi zero, klient POWINIEN natychmiast pobrać dane, ponieważ oznacza to, że serwer ma dodatkową aktualizację do wysłania do klienta, ale nie może tego zrobić z powodu ograniczeń określonych przez klienta. Czas trwania w sekundach z maksymalnie 9 miejscami po przecinku, zakończony znakiem „ |
sha256Checksum |
Posortowana lista wszystkich skrótów, ponownie zaszyfrowana za pomocą algorytmu SHA256. Jest to suma kontrolna posortowanej listy wszystkich skrótów obecnych w bazie danych po zastosowaniu podanej aktualizacji. Jeśli nie podano żadnych aktualizacji, serwer pominie to pole, aby wskazać, że klient powinien użyć istniejącej sumy kontrolnej. Ciąg zakodowany w formacie Base64. |
metadata |
Metadane dotyczące listy skrótów. Nie jest wypełniane przez metodę |
Pole zbiorcze compressed_additions. Wersja dodatków zakodowana za pomocą kodowania Rice-delta. Długości prefiksów skrótu w przypadku dodatków są jednolite we wszystkich dodatkach na liście. compressed_additions może mieć tylko jedną z tych wartości: |
|
additionsFourBytes |
4-bajtowe dodatki. |
additionsEightBytes |
8-bajtowe dodatki. |
additionsSixteenBytes |
16-bajtowe dodatki. |
additionsThirtyTwoBytes |
32-bajtowe dodatki. |
RiceDeltaEncoded32Bit
Dane zakodowane algorytmem Rice-Golomb. Używane w przypadku skrótów lub indeksów usuwania. Każdy skrót lub indeks ma tutaj taką samą długość, która wynosi dokładnie 32 bity.
Ogólnie rzecz biorąc, jeśli posortujemy wszystkie wpisy leksykograficznie, zauważymy, że bity wyższego rzędu zmieniają się rzadziej niż bity niższego rzędu. Oznacza to, że jeśli weźmiemy też sąsiednią różnicę między wpisami, bity wyższego rzędu będą z dużym prawdopodobieństwem zerowe. Wykorzystuje to wysokie prawdopodobieństwo zera, wybierając określoną liczbę bitów. Wszystkie bity o większym znaczeniu niż ta liczba są prawdopodobnie zerami, więc używamy kodowania unarnego. Sprawdź pole riceParameter.
Uwaga historyczna: kodowanie Rice-delta zostało po raz pierwszy użyte w interfejsie API w wersji 4. W wersji 5 wprowadzono 2 istotne ulepszenia: po pierwsze, kodowanie Rice-delta jest teraz dostępne z prefiksami skrótu dłuższymi niż 4 bajty; po drugie, zakodowane dane są teraz traktowane jako big-endian, aby uniknąć kosztownego kroku sortowania.
| Zapis JSON |
|---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| Pola | |
|---|---|
firstValue |
Pierwszy wpis w zakodowanych danych (skróty lub indeksy) lub, jeśli zakodowano tylko jeden prefiks skrótu lub indeks, wartość tego wpisu. Jeśli pole jest puste, wpis ma wartość zero. |
riceParameter |
Parametr Golomba-Rice’a. Ten parametr musi mieć wartość z przedziału od 3 do 30 włącznie. |
entriesCount |
Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w |
encodedData |
Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a. Ciąg zakodowany w formacie Base64. |
RiceDeltaEncoded64Bit
Tak samo jak RiceDeltaEncoded32Bit, z tym że koduje liczby 64-bitowe.
| Zapis JSON |
|---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| Pola | |
|---|---|
firstValue |
Pierwszy wpis w zakodowanych danych (skrótach) lub, jeśli zakodowano tylko 1 prefiks skrótu, wartość tego wpisu. Jeśli pole jest puste, wpis ma wartość zero. |
riceParameter |
Parametr Golomba-Rice’a. Wartość tego parametru musi mieścić się w przedziale od 35 do 62 włącznie. |
entriesCount |
Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w |
encodedData |
Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a. Ciąg zakodowany w formacie Base64. |
RiceDeltaEncoded128Bit
Tak samo jak RiceDeltaEncoded32Bit, z tym że koduje liczby 128-bitowe.
| Zapis JSON |
|---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| Pola | |
|---|---|
firstValueHi |
64 bity wyższego rzędu pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, górne 64 bity są zerowe. |
firstValueLo |
Dolne 64 bity pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, dolne 64 bity są zerowe. |
riceParameter |
Parametr Golomba-Rice’a. Ten parametr na pewno będzie mieścić się w przedziale od 99 do 126 włącznie. |
entriesCount |
Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w |
encodedData |
Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a. Ciąg zakodowany w formacie Base64. |
RiceDeltaEncoded256Bit
Podobnie jak RiceDeltaEncoded32Bit, z tym że koduje liczby 256-bitowe.
| Zapis JSON |
|---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| Pola | |
|---|---|
firstValueFirstPart |
Pierwsze 64 bity pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, pierwsze 64 bity mają wartość zero. |
firstValueSecondPart |
Bity od 65 do 128 pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, bity od 65 do 128 są zerami. |
firstValueThirdPart |
Bity od 129 do 192 pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, bity od 129 do 192 mają wartość zero. |
firstValueFourthPart |
Ostatnie 64 bity pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, ostatnie 64 bity są zerami. |
riceParameter |
Parametr Golomba-Rice’a. Wartość tego parametru musi mieścić się w przedziale od 227 do 254 włącznie. |
entriesCount |
Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w |
encodedData |
Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a. Ciąg zakodowany w formacie Base64. |
HashListMetadata
Metadane dotyczące konkretnej listy skrótów.
| Zapis JSON |
|---|
{ "threatTypes": [ enum ( |
| Pola | |
|---|---|
threatTypes[] |
Lista nieuporządkowana. Jeśli ta lista nie jest pusta, oznacza to, że lista skrótów jest rodzajem listy zagrożeń, a ta lista zawiera rodzaje zagrożeń powiązanych ze skrótami lub prefiksami skrótów na tej liście. Może być puste, jeśli wpis nie stanowi zagrożenia, np. w przypadku, gdy reprezentuje prawdopodobnie bezpieczny typ. |
likelySafeTypes[] |
Lista nieuporządkowana. Jeśli nie jest pusta, oznacza to, że lista skrótów reprezentuje listę prawdopodobnie bezpiecznych skrótów, a to wylicza sposoby, w jakie są one uważane za prawdopodobnie bezpieczne. To pole wyklucza się z polem threatTypes. |
description |
Zrozumiały dla człowieka opis tej listy. musi być napisana w języku angielskim; |
hashLength |
Długość obsługiwanego skrótu na tej liście skrótów. Każda lista skrótów będzie obsługiwać tylko jedną długość. Jeśli dla tego samego zestawu typów zagrożeń lub typów bezpiecznych zostanie wprowadzona inna długość skrótu, zostanie ona wprowadzona jako osobna lista z odrębną nazwą i odpowiednią długością skrótu. |
ThreatType
Rodzaje zagrożeń.
| Wartości w polu enum | |
|---|---|
THREAT_TYPE_UNSPECIFIED |
Nieznany typ zagrożenia. Jeśli serwer zwróci ten kod, klient całkowicie zignoruje otaczający go znak FullHashDetail. |
MALWARE |
Typ zagrożenia złośliwym oprogramowaniem. Termin „złośliwe oprogramowanie” odnosi się do programów komputerowych lub aplikacji mobilnych zaprojektowanych specjalnie w celu zaszkodzenia użytkownikom lub zakłócania pracy komputera, urządzenia mobilnego bądź zainstalowanych na nim aplikacji. Działanie złośliwego oprogramowania objawia się instalowaniem programów bez zgody użytkownika lub instalowaniem szkodliwych aplikacji, np. wirusów. Więcej informacji znajdziesz tutaj. |
SOCIAL_ENGINEERING |
Typ zagrożenia związanego z inżynierią społeczną. Strony wykorzystujące inżynierię społeczną fałszywie twierdzą, że działają w imieniu osoby trzeciej, aby nakłonić widzów do wykonania czynności, które wykonaliby tylko na prośbę prawdziwego przedstawiciela tej osoby. Phishing to rodzaj inżynierii społecznej, która podstępem nakłania użytkownika do wykonania określonej czynności, np. podania informacji takich jak dane logowania. Więcej informacji znajdziesz tutaj. |
UNWANTED_SOFTWARE |
Rodzaj zagrożenia związanego z niechcianym oprogramowaniem. Niechciane oprogramowanie to oprogramowanie, które nie jest zgodne z zasadami Google dotyczącymi oprogramowania, ale nie jest złośliwym oprogramowaniem. |
POTENTIALLY_HARMFUL_APPLICATION |
Rodzaj zagrożenia związanego z potencjalnie szkodliwą aplikacją używany przez Google Play Protect w Sklepie Play. |
LikelySafeType
Typy prawdopodobnie bezpiecznych witryn.
Zwróć uwagę, że SearchHashesResponse celowo nie zawiera LikelySafeType.
| Wartości w polu enum | |
|---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
Brak informacji. |
GENERAL_BROWSING |
Ta witryna jest prawdopodobnie wystarczająco bezpieczna do ogólnego przeglądania. Jest to też nazywane pamięcią podręczną globalną. |
CSD |
Ta witryna jest prawdopodobnie wystarczająco bezpieczna, więc nie trzeba uruchamiać modeli wykrywania po stronie klienta ani sprawdzać ochrony hasłem. |
DOWNLOAD |
Ta strona jest prawdopodobnie wystarczająco bezpieczna, aby nie trzeba było sprawdzać pobieranych z niej plików. |
HashLength
Długość skrótów na liście skrótów.
| Wartości w polu enum | |
|---|---|
HASH_LENGTH_UNSPECIFIED |
Nieokreślona długość. |
FOUR_BYTES |
Każdy skrót to 4-bajtowy prefiks. |
EIGHT_BYTES |
Każdy skrót to 8-bajtowy prefiks. |
SIXTEEN_BYTES |
Każdy skrót to 16-bajtowy prefiks. |
THIRTY_TWO_BYTES |
Każdy skrót to 32-bajtowy pełny skrót. |
Metody |
|
|---|---|
|
Pobiera najnowszą zawartość listy skrótów. |