- Zasób: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- Metody
Zasób: HashList
Lista haszów identyfikowanych przez ich nazwy.
Zapis JSON |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
Pola | |
---|---|
name |
Nazwa listy skrótów. Pamiętaj, że globalna pamięć podręczna to tylko lista skrótów, do której można się odwołać. |
version |
Wersja listy skrótów. Klient NIE MOŻE manipulować tymi bajtami. Ciąg zakodowany w standardzie base64. |
partialUpdate |
Jeśli ma wartość true (prawda), jest to częściowa różnica obejmująca dodanie i usunięcie na podstawie tego, co klient już ma. Jeśli ma wartość false (fałsz), jest to pełna lista skrótów. Jeśli ma wartość false (fałsz), klient MUSI usunąć dowolną wersję zapisaną lokalnie dla tej listy skrótów. Oznacza to, że wersja posiadana przez klienta jest bardzo nieaktualna lub dane klienta są prawdopodobnie uszkodzone. Pole Jeśli ma wartość true (prawda), klient MUSI wprowadzać stopniowe aktualizacje, najpierw usuwając treści, a następnie je uzupełniając. |
compressedRemovals |
Wersja indeksów usunięcia zakodowana w formacie delta. Każda lista skrótów zawiera na pewno mniej niż 2^32, dlatego indeksy są traktowane jako 32-bitowe liczby całkowite i zakodowane. |
minimumWaitDuration |
Klienci powinni odczekać co najmniej tyle czasu, aby ponownie otrzymać listę skrótów. Jeśli zostanie pominięty lub zerowy, klient POWINIEN pobrać pobieranie natychmiast, ponieważ wskazuje, że serwer ma dodatkową aktualizację do wysłania do klienta, choć ze względu na ograniczenia określone przez klienta nie było to możliwe. Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „ |
metadata |
Metadane dotyczące listy skrótów. To pole nie jest wypełniane przez metodę |
Pole sumy compressed_additions . Wersja dodania zakodowana w formacie delta. Długość prefiksów skrótów jest taka sama we wszystkich elementach na liście. Jest to wartość desired_hash_length wysłana przez klienta lub wartość wybrana przez serwer, jeśli klient pominął to pole. compressed_additions może być tylko jedną z tych wartości: |
|
additionsFourBytes |
4-bajtowe dodatki. |
additionsEightBytes |
8-bajtowe dodatki. |
additionsSixteenBytes |
16-bajtowe dodatki. |
additionsThirtyTwoBytes |
32-bajtowe dodatki. |
Pole sumy checksum . To jest suma kontrolna dla posortowanej listy wszystkich haszów obecnych w bazie danych po zastosowaniu podanej aktualizacji. To pole „jedno z” pozwala na użycie wielu algorytmów szyfrowania. Serwer może też pomijać to pole (jeśli nie wprowadzono żadnych aktualizacji) w celu wskazania, że klient powinien użyć istniejącej sumy kontrolnej. checksum może być tylko jedną z tych wartości: |
|
sha256Checksum |
Posortowana lista wszystkich haszów, ponownie zaszyfrowana za pomocą algorytmu SHA256. Ciąg zakodowany w standardzie base64. |
RyceDeltaEncoded32-bit
Dane zakodowane w postaci ryżu-golomba. Używana na potrzeby haszowania lub indeksów usuwania. Każdy hasz lub indeks ma taką samą długość i wynosi dokładnie 32 bity.
Jeśli posortujemy wszystkie wpisy leksykograficznie, okaże się, że bity o wyższej kolejności nie zmieniają się tak często, jak bity niższego rzędu. Oznacza to, że jeśli weźmiemy również sąsiednie różnice między wpisami, prawdopodobieństwo wystąpienia wartości zero w bitach wyższego rzędu jest duże. To wykorzystuje wysokie prawdopodobieństwo zerowe przez wybranie określonej liczby bitów. Wszystkie bity o większym znaczeniu mają wartość 0, dlatego używamy kodowania jednoargumentowego. Zobacz pole riceParameter
.
Uwaga historyczna: kodowanie Rice-delta zostało po raz pierwszy użyte w wersji 4 tego interfejsu API. W wersji 5 wprowadziliśmy dwa istotne ulepszenia: po pierwsze dostępne jest kodowanie ryżu-delta, które jest teraz dostępne z prefiksami haszującymi dłuższymi niż 4 bajty. Po drugie, zakodowane dane są teraz traktowane jako big-endian, aby uniknąć kosztownego sortowania.
Zapis JSON |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Pola | |
---|---|
firstValue |
Pierwszy wpis w zakodowanych danych (hasze lub indeksy) albo, jeśli został zakodowany tylko pojedynczy prefiks lub indeks skrótu, wartość tego wpisu. Jeśli pole jest puste, wartość wynosi zero. |
riceParameter |
Parametr Golomb-Rice. Gwarantujemy, że ten parametr ma wartość od 3 do 30 włącznie. |
entriesCount |
Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana jest tylko jedna liczba całkowita, wartość wynosi 0 i pojedyncza wartość zostanie zapisana w funkcji |
encodedData |
Zakodowane delta zakodowane za pomocą kodera Golomb-Rice. Ciąg zakodowany w standardzie base64. |
RyceDeltaEncoded64-bit
Taka sama jak w funkcji RiceDeltaEncoded32Bit
, ale oprócz tego koduje liczby 64-bitowe.
Zapis JSON |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Pola | |
---|---|
firstValue |
Pierwszy wpis w zakodowanych danych (hasze) lub, jeśli zakodowany był tylko pojedynczy prefiks skrótu, wartość tego wpisu. Jeśli pole jest puste, wartość wynosi zero. |
riceParameter |
Parametr Golomb-Rice. Gwarantujemy, że ten parametr ma wartość od 35 do 62 włącznie. |
entriesCount |
Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana jest tylko jedna liczba całkowita, wartość wynosi 0 i pojedyncza wartość zostanie zapisana w funkcji |
encodedData |
Zakodowane delta zakodowane za pomocą kodera Golomb-Rice. Ciąg zakodowany w standardzie base64. |
RyceDeltaEncoded128-bit
Taka sama jak w funkcji RiceDeltaEncoded32Bit
, ale oprócz tego koduje liczby 128-bitowe.
Zapis JSON |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
Pola | |
---|---|
firstValueHi |
Górne 64 bity pierwszego wpisu w zakodowanych danych (hasze). Jeśli to pole jest puste, wszystkie 64 bity mają wartość zero. |
firstValueLo |
Dolne 64 bity pierwszego wpisu w zakodowanych danych (hasze). Jeśli to pole jest puste, wszystkie dolne 64 bity mają wartość zero. |
riceParameter |
Parametr Golomb-Rice. Gwarantujemy, że ten parametr ma wartość od 99 do 126 włącznie. |
entriesCount |
Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana jest tylko jedna liczba całkowita, wartość wynosi 0 i pojedyncza wartość zostanie zapisana w funkcji |
encodedData |
Zakodowane delta zakodowane za pomocą kodera Golomb-Rice. Ciąg zakodowany w standardzie base64. |
RyceDeltaEncoded256-bit
Taka sama jak w funkcji RiceDeltaEncoded32Bit
, ale oprócz tego 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 (hasze). Jeśli pole jest puste, pierwsze 64 bity mają wartość zero. |
firstValueSecondPart |
Od 65 do 128 bitów pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, wartość wszystkich bitów od 65 do 128 bitów wynosi zero. |
firstValueThirdPart |
Od 129 do 192 bitów pierwszego wpisu w zakodowanych danych (hasze). Jeśli pole jest puste, wartość od 129 do 192 bitów ma wartość zero. |
firstValueFourthPart |
Ostatnie 64 bity pierwszego wpisu w zakodowanych danych (hasze). Jeśli to pole jest puste, ostatnie 64 bity mają wartość zero. |
riceParameter |
Parametr Golomb-Rice. Gwarantujemy, że ten parametr ma wartość od 227 do 254 włącznie. |
entriesCount |
Liczba wpisów zakodowanych delta w zakodowanych danych. Jeśli zakodowana jest tylko jedna liczba całkowita, wartość wynosi 0 i pojedyncza wartość zostanie zapisana w funkcji |
encodedData |
Zakodowane delta zakodowane za pomocą kodera Golomb-Rice. Ciąg zakodowany w standardzie 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 haszowania jest rodzajem listy zagrożeń i podaje rodzaj zagrożeń związanych z haszami lub prefiksami skrótów na tej liście. Może być pusta, jeśli wpis nie stanowi zagrożenia, tzn. reprezentuje prawdopodobnie bezpieczny typ. |
likelySafeTypes[] |
Lista nieuporządkowana. Jeśli ta wartość nie jest pusta, wskazuje, że lista skrótów przedstawia listę prawdopodobnych bezpiecznych haszów oraz podaje sposoby, w jakie są one potencjalnie bezpieczne. To pole wyklucza się wzajemnie z polem threatTypes. |
mobileOptimized |
Określa, czy lista jest zoptymalizowana pod kątem urządzeń mobilnych (Android i iOS). |
description |
Zrozumiały dla człowieka opis tej listy. Napisano w języku angielskim. |
supportedHashLengths[] |
Obsługiwane długości skrótu dla tej listy skrótów. Każda lista skrótów obsługuje co najmniej jedną długość. Dlatego to pole nie będzie puste. |
ThreatType
Typy zagrożeń.
Wartości w polu enum | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Nieznany typ zagrożenia. Jeśli zostanie ona zwrócona przez serwer, klient całkowicie zignoruje treść FullHashDetail . |
MALWARE |
Rodzaj zagrożenia związany ze 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 |
Rodzaj zagrożenia związany z inżynierią społeczną. Strony stosujące inżynierię społeczną fałszywie sugerują, że działają w imieniu osoby trzeciej w celu skłonienia widzów do wykonania czynności, którą widz zaufałby wyłącznie prawdziwemu przedstawicielowi tej firmy. Phishing (wyłudzanie informacji) to rodzaj inżynierii społecznej, który polega na nakłonieniu widza do wykonania określonej czynności polegającej na udostępnieniu informacji, takich jak dane logowania. Więcej informacji znajdziesz tutaj. |
UNWANTED_SOFTWARE |
Typ zagrożenia związanego z niechcianym oprogramowaniem. Niechciane oprogramowanie to takie, które nie jest zgodne z zasadami Google dotyczącymi oprogramowania, ale nie jest złośliwym oprogramowaniem. |
POTENTIALLY_HARMFUL_APPLICATION |
Potencjalnie szkodliwy rodzaj zagrożenia dla aplikacji wykorzystywany przez Google Play Protect w Sklepie Play. |
LikelySafeType
Typy witryn prawdopodobnie bezpiecznych.
Zauważ, że SearchHashesResponse
celowo nie zawiera LikelySafeType
.
Wartości w polu enum | |
---|---|
LIKELY_SAFE_TYPE_UNSPECIFIED |
Nieznany. |
GENERAL_BROWSING |
Ta witryna jest prawdopodobnie wystarczająco bezpieczna, by przeglądać strony. Jest to też tzw. globalna pamięć podręczna. |
CSD |
Witryna jest prawdopodobnie na tyle bezpieczna, że nie trzeba w niej uruchamiać modeli wykrywania po stronie klienta ani testów ochrony haseł. |
DOWNLOAD |
Ta witryna jest prawdopodobnie na tyle bezpieczna, że nie trzeba sprawdzać z niej pobieranych 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ść. Serwer nie zwraca tej wartości w odpowiedziach na żądania klienta (w polu supportedHashLengths ), ale klient może ją wysłać na serwer (w polu desiredHashLength ). W takim przypadku serwer wybierze wartość automatycznie. Klienci POWINNY wybrać wartość przez serwer. |
FOUR_BYTES |
Każdy hasz to czterobajtowy prefiks. |
EIGHT_BYTES |
Każdy hasz to ośmiobajtowy prefiks. |
SIXTEEN_BYTES |
Każdy hasz to 16-bajtowy prefiks. |
THIRTY_TWO_BYTES |
Każdy hasz to 32-bajtowy hasz o długości 32 bajtów. |
Metody |
|
---|---|
|
Pobierz najnowszą zawartość listy skrótów. |