REST Resource: hashList

Referensi: HashList

Daftar hash yang diidentifikasi berdasarkan namanya.

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

string

Nama daftar hash. Perhatikan bahwa {i>Global Cache<i} juga hanyalah daftar {i>hash<i} dan dapat dirujuk ke sini.

version

string (bytes format)

Versi daftar hash. Klien TIDAK BOLEH memanipulasi byte tersebut.

String berenkode base64.

partialUpdate

boolean

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

Jika salah (false), klien HARUS menghapus versi yang disimpan secara lokal untuk daftar hash ini. Artinya, 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 bisa karena batasan yang ditentukan klien.

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

metadata

object (HashListMetadata)

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

Kolom union compressed_additions. Versi penambahan yang dienkode Rice-delta. Panjang awalan hash pada penambahan seragam di semua penambahan dalam daftar. Kolom ini dapat berupa 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 yang 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.

Kolom union checksum. Ini adalah checksum untuk daftar semua hash yang diurutkan yang ada dalam database setelah menerapkan update yang disediakan. Ini adalah kolom "salah satu" yang memungkinkan beberapa algoritma hashing. Server juga dapat menghilangkan kolom ini (jika tidak ada update yang diberikan) untuk menunjukkan bahwa klien harus menggunakan checksum yang ada. checksum hanya ada berupa salah satu diantara berikut:
sha256Checksum

string (bytes format)

Daftar semua hash yang diurutkan, di-hash lagi dengan SHA256.

String berenkode base64.

RiceDeltaEncoded32Bit

Data yang dienkode Rice-Golomb. Digunakan untuk hash atau indeks penghapusan. Dijamin bahwa setiap {i>hash<i} atau indeks di sini memiliki panjang yang sama, dan panjangnya tepat 32 bit.

Secara umum, jika kita mengurutkan semua entri secara leksikografis, kita akan menemukan bahwa bit urutan yang lebih tinggi cenderung tidak berubah sesering bit urutan yang lebih rendah. Ini berarti bahwa jika kita juga mengambil selisih antara entri yang berdekatan, bit urutan yang lebih tinggi memiliki probabilitas tinggi untuk menjadi nol. Hal ini mengeksploitasi probabilitas nol yang tinggi ini dengan pada dasarnya memilih sejumlah bit tertentu; semua bit lebih signifikan daripada ini cenderung nol sehingga kita menggunakan pengkodean unary. Lihat kolom riceParameter.

Catatan historis: Encoding Rice-delta pertama kali digunakan di V4 pada API ini. Pada V5, dua peningkatan signifikan dilakukan: pertama, pengkodean Rice-delta sekarang tersedia dengan awalan hash yang lebih panjang dari 4 byte; kedua, data yang dienkode sekarang 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 ada satu awalan atau indeks hash yang dienkode, adalah 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 secara delta dalam data yang dienkode. Jika hanya satu bilangan bulat yang dienkode, nilainya akan menjadi nol dan nilai tunggal akan disimpan di firstValue.

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan pembuat kode Golomb-Rice.

String berenkode base64.

RiceDeltaEncoded64Bit

Sama seperti RiceDeltaEncoded32Bit, tetapi 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 antara 35 dan 62, inklusif.

entriesCount

integer

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

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan pembuat kode Golomb-Rice.

String berenkode base64.

RiceDeltaEncoded128Bit

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

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

string

64 bit atas dari entri pertama dalam data yang dienkode (hash). Jika {i>field<i} kosong, 64 bit atas semuanya adalah nol.

firstValueLo

string (uint64 format)

64 bit lebih rendah dari entri pertama dalam data yang dienkode (hash). Jika {i>field<i}-nya kosong, 64 bit yang lebih rendah adalah nol.

riceParameter

integer

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

entriesCount

integer

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

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan pembuat kode Golomb-Rice.

String berenkode base64.

RiceDeltaEncoded256Bit

Sama seperti RiceDeltaEncoded32Bit, tetapi 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 {i>field<i} tersebut kosong, 64 bit pertama adalah nol.

firstValueSecondPart

string (uint64 format)

Bit ke-65 hingga 128 dari entri pertama dalam data yang dienkode (hash). Jika {i>field<i} tersebut kosong, maka 65 sampai 128 bit semuanya adalah nol.

firstValueThirdPart

string (uint64 format)

Bit 129 sampai 192 dari entri pertama dalam data yang dienkode (hash). Jika isian kosong, angka 129 sampai 192 bit adalah nol.

firstValueFourthPart

string (uint64 format)

64 bit terakhir dari entri pertama dalam data yang dienkode (hash). Jika {i>field<i} kosong, 64 bit terakhir adalah nol.

riceParameter

integer

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

entriesCount

integer

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

encodedData

string (bytes format)

Delta yang dienkode yang dienkode menggunakan pembuat kode Golomb-Rice.

String berenkode base64.

HashListMetadata

Metadata tentang daftar hash tertentu.

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

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

Daftar yang tidak diurutkan. Jika tidak kosong, hal ini menentukan bahwa daftar hash mewakili daftar hash yang mungkin aman, dan menguraikan cara hash tersebut dianggap aman. Kolom ini sama eksklusif dengan kolom Daftar Ancaman.

mobileOptimized

boolean

Apakah daftar ini dioptimalkan untuk perangkat seluler (Android dan iOS).

description

string

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

supportedHashLengths[]

enum (HashLength)

Panjang hash yang didukung untuk daftar hash ini. Setiap daftar {i>hash<i} akan mendukung setidaknya satu panjang. Oleh karena itu, kolom ini tidak akan kosong.

ThreatType

Jenis ancaman.

Enum
THREAT_TYPE_UNSPECIFIED Jenis ancaman tidak diketahui. Jika ini ditampilkan oleh server, klien harus mengabaikan FullHashDetail yang disertakan.
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 palsu berpura-pura bertindak atas nama pihak ketiga dengan maksud membingungkan penonton sehingga melakukan tindakan yang membuat penonton hanya memercayai agen sejati dari pihak ketiga tersebut. {i>Phishing<i} adalah jenis manipulasi psikologis yang mengelabui penonton agar melakukan tindakan tertentu dalam 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 yang tidak mematuhi Prinsip Software Google, tetapi bukan malware.
POTENTIALLY_HARMFUL_APPLICATION Jenis ancaman aplikasi yang berpotensi berbahaya 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 Tidak diketahui.
GENERAL_BROWSING Situs ini mungkin cukup aman untuk penjelajahan umum. Dikenal juga sebagai cache global.
CSD Situs ini mungkin cukup aman sehingga Anda tidak perlu menjalankan model Deteksi Sisi Klien atau pemeriksaan perlindungan sandi.
DOWNLOAD Situs ini mungkin cukup aman sehingga download dari situs ini tidak perlu diperiksa.

HashLength

Panjang hash dalam daftar hash.

Enum
HASH_LENGTH_UNSPECIFIED Panjang tidak ditentukan. Server tidak akan menampilkan nilai ini sebagai respons terhadap 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 membiarkan server memilih nilai.
FOUR_BYTES Setiap hash adalah prefiks empat byte.
EIGHT_BYTES Setiap {i>hash<i} adalah awalan delapan byte.
SIXTEEN_BYTES Setiap {i>hash<i} adalah awalan enam belas byte.
THIRTY_TWO_BYTES Setiap {i>hash<i} adalah {i>hash<i} penuh tiga puluh dua byte.

Metode

get

Mendapatkan konten terbaru dari daftar hash.