REST Resource: hashList

Resource: HashList

Daftar hash yang diidentifikasi berdasarkan namanya.

Representasi 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.
}
Kolom
name

string

Nama daftar hash. Perhatikan bahwa Cache Global juga hanya merupakan daftar hash dan dapat dirujuk di sini.

version

string (bytes format)

Versi daftar hash. Klien TIDAK BOLEH memanipulasi byte tersebut.

String berenkode base64.

partialUpdate

boolean

Jika benar, ini adalah perbedaan sebagian yang berisi penambahan dan penghapusan berdasarkan apa yang sudah dimiliki klien. Jika salah, ini adalah daftar hash lengkap.

Jika salah, klien HARUS menghapus versi yang disimpan secara lokal untuk daftar hash ini. Hal ini berarti versi yang dimiliki klien sudah sangat usang atau data klien diyakini rusak. Kolom compressedRemovals akan kosong.

Jika benar, klien HARUS menerapkan update inkremental dengan menerapkan penghapusan, lalu penambahan.

compressedRemovals

object (RiceDeltaEncoded32Bit)

Versi indeks penghapusan yang dienkode Rice-delta. Karena setiap daftar hash pasti memiliki kurang dari 2^32 entri, indeks diperlakukan sebagai bilangan bulat 32-bit dan dienkode.

minimumWaitDuration

string (Duration format)

Klien harus menunggu setidaknya selama ini untuk mendapatkan daftar hash lagi. Jika dihilangkan atau nol, klien HARUS segera mengambil karena menunjukkan bahwa server memiliki update tambahan yang akan dikirim ke klien, tetapi tidak dapat dilakukan karena batasan yang ditentukan klien.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

sha256Checksum

string (bytes format)

Daftar semua hash yang diurutkan, di-hash lagi dengan SHA256. Ini adalah checksum untuk daftar yang diurutkan dari semua hash yang ada di database setelah menerapkan update yang disediakan. Jika tidak ada update yang diberikan, server akan menghapus kolom ini untuk menunjukkan bahwa klien harus menggunakan checksum yang ada.

String berenkode base64.

metadata

object (HashListMetadata)

Metadata tentang daftar hash. Ini tidak diisi oleh metode hashList.get, tetapi diisi oleh metode ListHashLists.

Kolom union compressed_additions. Versi tambahan yang dienkode Rice-delta. Panjang awalan hash penambahan bersifat seragam di semua penambahan dalam daftar. Ini adalah desired_hash_length yang dikirim oleh klien atau nilai yang dipilih oleh server jika klien menghilangkan kolom tersebut. compressed_additions hanya dapat berupa salah satu dari hal berikut:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Penambahan 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Penambahan 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Penambahan 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Penambahan 32 byte.

RiceDeltaEncoded32Bit

Data yang dienkode Rice-Golomb. Digunakan untuk hash atau indeks penghapusan. Setiap hash atau indeks di sini dijamin memiliki panjang yang sama, dan panjangnya persis 32 bit.

Secara umum, jika kita mengurutkan semua entri secara leksikografis, kita akan mendapati bahwa bit urutan yang lebih tinggi cenderung tidak berubah sesering bit urutan yang lebih rendah. Artinya, jika kita juga mengambil perbedaan yang berdekatan antara entri, bit urutan yang lebih tinggi memiliki probabilitas tinggi untuk menjadi nol. Hal ini memanfaatkan probabilitas nol yang tinggi ini dengan memilih sejumlah bit tertentu; semua bit yang lebih signifikan dari ini kemungkinan nol sehingga kita menggunakan encoding unary. Lihat kolom riceParameter.

Catatan historis: encoding Rice-delta pertama kali digunakan di V4 API ini. Di V5, dua peningkatan signifikan telah dilakukan: pertama, encoding Rice-delta kini tersedia dengan awalan hash yang lebih panjang dari 4 byte; kedua, data yang dienkode kini diperlakukan sebagai big-endian untuk menghindari langkah pengurutan yang mahal.

Representasi JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Kolom
firstValue

integer (uint32 format)

Entri pertama dalam data yang dienkode (hash atau indeks), atau, jika hanya satu awalan atau indeks hash yang dienkode, nilai entri tersebut. Jika kolom kosong, entrinya adalah nol.

riceParameter

integer

Parameter Golomb-Rice. Parameter ini dijamin antara 3 dan 30, inklusif.

entriesCount

integer

Jumlah entri yang dienkode delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilai ini akan nol dan nilai tunggal akan disimpan di firstValue.

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan coder Golomb-Rice.

String berenkode base64.

RiceDeltaEncoded64Bit

Sama seperti RiceDeltaEncoded32Bit, kecuali ini mengenkode angka 64-bit.

Representasi JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Kolom
firstValue

string

Entri pertama dalam data yang dienkode (hash), atau, jika hanya satu awalan hash yang dienkode, nilai entri tersebut. Jika kolom kosong, entrinya adalah nol.

riceParameter

integer

Parameter Golomb-Rice. Parameter ini dijamin berada di antara 35 dan 62, inklusif.

entriesCount

integer

Jumlah entri yang dienkode delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilai ini akan nol dan nilai tunggal akan disimpan di firstValue.

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan coder Golomb-Rice.

String berenkode base64.

RiceDeltaEncoded128Bit

Sama seperti RiceDeltaEncoded32Bit, kecuali ini mengenkode angka 128-bit.

Representasi JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Kolom
firstValueHi

string

64 bit atas entri pertama dalam data yang dienkode (hash). Jika kolom kosong, 64 bit atas semuanya nol.

firstValueLo

string (uint64 format)

64 bit bawah dari entri pertama dalam data yang dienkode (hash). Jika kolom kosong, 64 bit yang lebih rendah semuanya nol.

riceParameter

integer

Parameter Golomb-Rice. Parameter ini dijamin antara 99 dan 126, inklusif.

entriesCount

integer

Jumlah entri yang dienkode delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilai ini akan nol dan nilai tunggal akan disimpan di firstValue.

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan coder Golomb-Rice.

String berenkode base64.

RiceDeltaEncoded256Bit

Sama seperti RiceDeltaEncoded32Bit, kecuali ini mengenkode angka 256-bit.

Representasi JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Kolom
firstValueFirstPart

string

64 bit pertama dari entri pertama dalam data yang dienkode (hash). Jika kolom kosong, 64 bit pertama semuanya nol.

firstValueSecondPart

string (uint64 format)

Bit 65 hingga 128 dari entri pertama dalam data yang dienkode (hash). Jika kolom kosong, bit 65 hingga 128 semuanya nol.

firstValueThirdPart

string (uint64 format)

Bit 129 hingga 192 dari entri pertama dalam data yang dienkode (hash). Jika kolom kosong, bit 129 hingga 192 semuanya nol.

firstValueFourthPart

string (uint64 format)

64 bit terakhir dari entri pertama dalam data yang dienkode (hash). Jika kolom kosong, 64 bit terakhir semuanya nol.

riceParameter

integer

Parameter Golomb-Rice. Parameter ini dijamin antara 227 dan 254, inklusif.

entriesCount

integer

Jumlah entri yang dienkode delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilai ini akan nol dan nilai tunggal akan disimpan di firstValue.

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan coder Golomb-Rice.

String berenkode base64.

HashListMetadata

Metadata tentang daftar hash tertentu.

Representasi JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ],
  "hashLength": enum (HashLength)
}
Kolom
threatTypes[]

enum (ThreatType)

Daftar yang tidak diurutkan. Jika tidak kosong, ini menentukan bahwa daftar hash adalah jenis daftar ancaman, dan ini menghitung jenis ancaman yang terkait dengan hash atau awalan hash dalam daftar hash ini. Dapat kosong jika entri tidak mewakili ancaman, yaitu jika entri mewakili jenis yang kemungkinan aman.

likelySafeTypes[]

enum (LikelySafeType)

Daftar yang tidak diurutkan. Jika tidak kosong, ini menentukan bahwa daftar hash mewakili daftar hash yang kemungkinan aman, dan ini mencantumkan cara hash tersebut dianggap kemungkinan aman. Kolom ini sama eksklusifnya dengan kolom threatTypes.

description

string

Deskripsi yang dapat dibaca manusia tentang daftar ini. Ditulis dalam bahasa Inggris.

supportedHashLengths[]
(deprecated)

enum (HashLength)

Panjang hash yang didukung untuk daftar hash ini. Setiap daftar hash akan mendukung minimal satu panjang. Oleh karena itu, kolom ini tidak akan kosong.

hashLength

enum (HashLength)

Panjang hash yang didukung untuk daftar hash ini. Setiap daftar hash akan mendukung tepat satu panjang. Jika panjang hash yang berbeda diperkenalkan untuk kumpulan jenis ancaman atau jenis aman yang sama, panjang hash tersebut akan diperkenalkan sebagai daftar terpisah dengan nama yang berbeda dan kumpulan panjang hash masing-masing.

ThreatType

Jenis ancaman.

Enum
THREAT_TYPE_UNSPECIFIED Jenis ancaman tidak diketahui. Jika ditampilkan oleh server, klien akan mengabaikan FullHashDetail yang menyertainya.
MALWARE

Jenis ancaman malware. Malware adalah software atau aplikasi seluler yang dirancang khusus untuk merusak komputer, perangkat seluler, software yang dijalankannya, atau penggunanya. Malware menunjukkan perilaku berbahaya yang dapat meliputi penginstalan software tanpa izin dari pengguna dan penginstalan software berbahaya seperti virus.

Informasi selengkapnya dapat ditemukan di sini.

SOCIAL_ENGINEERING

Jenis ancaman manipulasi psikologis. Halaman manipulasi psikologis secara keliru menyatakan bahwa mereka bertindak atas nama pihak ketiga dengan tujuan membingungkan penonton agar melakukan tindakan yang hanya akan dipercaya penonton jika dilakukan oleh agen asli pihak ketiga tersebut. Phishing adalah jenis manipulasi psikologis yang menipu penonton agar melakukan tindakan tertentu untuk memberikan informasi, seperti kredensial login.

Informasi selengkapnya dapat ditemukan di sini.

UNWANTED_SOFTWARE Jenis ancaman software yang tidak diinginkan. Software yang tidak diinginkan adalah software apa pun yang tidak mematuhi Asas-Asas Software Google, tetapi bukan malware.
POTENTIALLY_HARMFUL_APPLICATION Jenis ancaman aplikasi yang berpotensi membahayakan seperti yang digunakan oleh Google Play Protect untuk Play Store.

LikelySafeType

Jenis situs yang kemungkinan aman.

Perhatikan bahwa SearchHashesResponse sengaja tidak berisi LikelySafeType.

Enum
LIKELY_SAFE_TYPE_UNSPECIFIED Tak diketahui.
GENERAL_BROWSING Situs ini mungkin cukup aman untuk penjelajahan umum. Ini juga dikenal sebagai cache global.
CSD Situs ini kemungkinan cukup aman sehingga tidak perlu menjalankan model Deteksi Sisi Klien atau pemeriksaan perlindungan sandi.
DOWNLOAD Situs ini mungkin cukup aman sehingga download dari situs tersebut tidak perlu diperiksa.

HashLength

Panjang hash dalam daftar hash.

Enum
HASH_LENGTH_UNSPECIFIED Panjang tidak ditentukan. Server tidak akan menampilkan nilai ini dalam respons ke klien (di kolom supportedHashLengths), tetapi klien diizinkan untuk mengirim nilai ini ke server (di kolom desiredHashLength), dalam hal ini server akan memilih nilai secara otomatis. Klien HARUS mengizinkan server memilih nilai.
FOUR_BYTES Setiap hash adalah awalan empat byte.
EIGHT_BYTES Setiap hash adalah awalan delapan byte.
SIXTEEN_BYTES Setiap hash adalah awalan enam belas byte.
THIRTY_TWO_BYTES Setiap hash adalah hash penuh tiga puluh dua byte.

Metode

get

Mendapatkan konten terbaru dari daftar hash.