REST Resource: hashList

Tài nguyên: HashList

Danh sách hàm băm được xác định theo tên.

Biểu diễn dưới dạng 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.
}
Trường
name

string

Tên của danh sách băm. Lưu ý rằng Global Cache cũng chỉ là một danh sách băm và có thể tham chiếu đến đây.

version

string (bytes format)

Phiên bản của danh sách băm. Ứng dụng KHÔNG ĐƯỢC thao tác với các byte đó.

Chuỗi được mã hoá base64.

partialUpdate

boolean

Nếu đúng, đây là sự khác biệt một phần bao gồm cả việc thêm và xoá dựa trên những gì ứng dụng đã có. Nếu giá trị là false thì đây sẽ là danh sách băm đầy đủ.

Khi giá trị là false, ứng dụng PHẢI xoá mọi phiên bản được lưu trữ cục bộ cho danh sách băm này. Điều này có nghĩa là phiên bản do ứng dụng sở hữu đã lỗi thời hoặc dữ liệu ứng dụng được cho là bị hỏng. Trường compressedRemovals sẽ trống.

Khi đúng, ứng dụng PHẢI áp dụng một bản cập nhật gia tăng bằng cách áp dụng các quy tắc xoá rồi bổ sung.

compressedRemovals

object (RiceDeltaEncoded32Bit)

Phiên bản được mã hoá gạo-delta của chỉ mục xoá. Vì mỗi danh sách băm chắc chắn có ít hơn 2^32 mục nhập, các chỉ mục được coi là số nguyên 32 bit và được mã hoá.

minimumWaitDuration

string (Duration format)

Khách hàng nên đợi ít nhất bằng khoảng thời gian này để nhận lại danh sách hàm băm. Nếu bị bỏ qua hoặc bằng 0, ứng dụng NÊN tìm nạp ngay lập tức vì điều này cho biết máy chủ có bản cập nhật bổ sung sẽ được gửi đến ứng dụng, nhưng không thể do các quy tắc ràng buộc do ứng dụng chỉ định.

Thời lượng tính bằng giây với tối đa 9 chữ số phân số, kết thúc bằng "s". Ví dụ: "3.5s".

metadata

object (HashListMetadata)

Siêu dữ liệu về danh sách hàm băm. Giá trị này không được điền bằng phương thức hashList.get, mà được điền bằng phương thức ListHashLists.

Trường kết hợp compressed_additions. Phiên bản được mã hoá của gạo-delta của các phần bổ sung. Độ dài tiền tố băm của các mục bổ sung sẽ giống nhau trên tất cả các mục bổ sung trong danh sách. Đó là desired_hash_length do ứng dụng gửi hoặc giá trị do máy chủ chọn nếu ứng dụng bỏ qua trường đó. compressed_additions chỉ có thể là một trong những trạng thái sau đây:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Bổ sung 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Bổ sung 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Bổ sung 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Bổ sung 32 byte.

Trường kết hợp checksum. Đây là giá trị tổng kiểm cho danh sách đã sắp xếp tất cả hàm băm có trong cơ sở dữ liệu sau khi áp dụng nội dung cập nhật được cung cấp. Đây là một "một trong số" để cho phép nhiều thuật toán băm. Máy chủ cũng có thể bỏ qua trường này (trong trường hợp không cung cấp nội dung cập nhật) để cho biết máy khách nên sử dụng giá trị tổng kiểm hiện có. checksum chỉ có thể là một trong những trạng thái sau đây:
sha256Checksum

string (bytes format)

Danh sách đã sắp xếp gồm tất cả hàm băm, được băm lại bằng SHA256.

Chuỗi được mã hoá base64.

gạoDeltaĐã mã hoá 32Bit

Dữ liệu đã mã hoá gạo-Golomb. Dùng cho hàm băm hoặc chỉ mục xoá. Chúng tôi đảm bảo rằng mọi hàm băm hoặc chỉ mục ở đây đều có cùng độ dài và độ dài này chính xác là 32 bit.

Nói chung, nếu chúng ta sắp xếp tất cả các mục theo thuật ngữ học, chúng ta sẽ thấy rằng các bit thứ tự cao hơn có xu hướng không thay đổi thường xuyên như các bit thứ tự thấp hơn. Điều này có nghĩa là nếu chúng ta cũng lấy hiệu số liền kề giữa các mục nhập thì bit thứ tự cao hơn có xác suất bằng 0 cao hơn. Phương thức này khai thác xác suất bằng 0 cao này bằng cách chọn một số lượng bit nhất định; tất cả các bit lớn hơn giá trị này đều có thể bằng 0, vì vậy chúng tôi sử dụng mã hoá đơn phân. Hãy xem trường riceParameter.

Lưu ý trước đây: phương thức mã hoá gạo-delta được sử dụng lần đầu tiên trong phiên bản 4 của API này. Trong phiên bản 5, có hai cải tiến quan trọng đã được thực hiện: thứ nhất, mã hóa cơm-delta hiện có sẵn với các tiền tố băm dài hơn 4 byte; thứ hai, dữ liệu được mã hoá hiện được coi là cuối cùng để tránh bước sắp xếp tốn kém.

Biểu diễn dưới dạng JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Trường
firstValue

integer (uint32 format)

Mục nhập đầu tiên trong dữ liệu được mã hoá (hàm băm hoặc chỉ mục) hoặc giá trị của mục nhập đó nếu chỉ có một tiền tố hoặc chỉ mục hàm băm được mã hoá. Nếu trường này trống, thì giá trị nhập bằng 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này được đảm bảo nằm trong khoảng từ 3 đến 30.

entriesCount

integer

Số mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ có một số nguyên duy nhất được mã hoá, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong firstValue.

encodedData

string (bytes format)

Các delta mã hóa được mã hóa bằng trình mã hóa Golomb-Rice.

Chuỗi được mã hoá base64.

gạoDeltaĐã mã hoá 64Bit

Giống như RiceDeltaEncoded32Bit, ngoại trừ việc mã hoá các số 64 bit.

Biểu diễn dưới dạng JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Trường
firstValue

string

Mục nhập đầu tiên trong dữ liệu được mã hoá (hàm băm) hoặc giá trị của mục nhập đó nếu chỉ có một tiền tố hàm băm được mã hoá. Nếu trường này trống, thì giá trị nhập bằng 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này được đảm bảo nằm trong khoảng từ 35 đến 62.

entriesCount

integer

Số mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ có một số nguyên được mã hoá, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong firstValue.

encodedData

string (bytes format)

Các delta mã hóa được mã hóa bằng trình mã hóa Golomb-Rice.

Chuỗi được mã hoá base64.

gạoDeltaĐã mã hoá128Bit

Giống như RiceDeltaEncoded32Bit, ngoại trừ việc mã hoá các số 128 bit.

Biểu diễn dưới dạng JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Trường
firstValueHi

string

64 bit trên của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường trống thì 64 bit trên đều bằng 0.

firstValueLo

string (uint64 format)

64 bit thấp hơn của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống thì 64 bit thấp hơn đều bằng 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này được đảm bảo nằm trong khoảng từ 99 đến 126.

entriesCount

integer

Số mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ có một số nguyên được mã hoá, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong firstValue.

encodedData

string (bytes format)

Các delta mã hóa được mã hóa bằng trình mã hóa Golomb-Rice.

Chuỗi được mã hoá base64.

gạoDeltaĐã mã hoá 256Bit

Giống như RiceDeltaEncoded32Bit, ngoại trừ việc mã hoá các số 256 bit.

Biểu diễn dưới dạng JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
Trường
firstValueFirstPart

string

64 bit đầu tiên của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống thì 64 bit đầu tiên đều bằng 0.

firstValueSecondPart

string (uint64 format)

Các bit 65 đến 128 của mục đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường trống thì các bit từ 65 đến 128 đều bằng 0.

firstValueThirdPart

string (uint64 format)

Các bit 129 đến 192 của mục đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường trống thì các bit từ 129 đến 192 đều bằng 0.

firstValueFourthPart

string (uint64 format)

64 bit cuối cùng của mục đầu tiên trong dữ liệu đã mã hoá (hàm băm). Nếu trường này trống thì 64 bit cuối cùng đều bằng 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này được đảm bảo nằm trong khoảng từ 227 đến 254.

entriesCount

integer

Số mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ có một số nguyên được mã hoá, thì giá trị này sẽ bằng 0 và giá trị duy nhất sẽ được lưu trữ trong firstValue.

encodedData

string (bytes format)

Các delta mã hóa được mã hóa bằng trình mã hóa Golomb-Rice.

Chuỗi được mã hoá base64.

HashListMetadata

Siêu dữ liệu về một danh sách băm cụ thể.

Biểu diễn dưới dạng JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "mobileOptimized": boolean,
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ]
}
Trường
threatTypes[]

enum (ThreatType)

Danh sách không theo thứ tự. Nếu không để trống, thì thuộc tính này xác định rằng danh sách băm là một loại danh sách mối đe doạ, đồng thời liệt kê các loại mối đe doạ liên quan đến hàm băm hoặc tiền tố băm trong danh sách hàm băm này. Có thể để trống nếu mục nhập không thể hiện mối đe doạ, tức là trong trường hợp mục đó đại diện cho một loại có khả năng an toàn.

likelySafeTypes[]

enum (LikelySafeType)

Danh sách không theo thứ tự. Nếu bạn không để trống, thì tức là danh sách băm đại diện cho một danh sách hàm băm có khả năng an toàn, đồng thời liệt kê các cách mà các hàm này được coi là an toàn. Trường này mang tính loại trừ lẫn nhau với trường matchingTypes.

mobileOptimized

boolean

Liệu danh sách này có được tối ưu hoá cho thiết bị di động (Android và iOS) hay không.

description

string

Nội dung mô tả mà con người có thể đọc được về danh sách này. Viết bằng tiếng Anh.

supportedHashLengths[]

enum (HashLength)

Độ dài hàm băm được hỗ trợ cho danh sách hàm băm này. Mỗi danh sách băm sẽ hỗ trợ ít nhất một độ dài. Do đó, trường này sẽ không được để trống.

ThreatType

Các loại mối đe doạ.

Enum
THREAT_TYPE_UNSPECIFIED Kiểu mối đe doạ không xác định. Nếu được máy chủ trả về, ứng dụng phải bỏ qua FullHashDetail đi kèm.
MALWARE

Kiểu đe doạ phần mềm độc hại. Phần mềm độc hại là những phần mềm hay ứng dụng dành cho thiết bị di động được thiết kế riêng biệt nhằm gây hại cho máy tính, thiết bị di động, phần mềm mà máy tính/thiết bị di động đang chạy hoặc người dùng. Phần mềm độc hại thực hiện những hành vi độc hại, chẳng hạn như cài đặt phần mềm khi người dùng chưa đồng ý và cài đặt những phần mềm có hại như vi-rút.

Bạn có thể tìm thêm thông tin tại đây.

SOCIAL_ENGINEERING

Kiểu mối đe doạ tấn công phi kỹ thuật. Các trang tấn công phi kỹ thuật dùng thông tin sai sự thật để thay mặt cho bên thứ ba hoạt động nhằm khiến người xem nhầm lẫn khi thực hiện một hành động mà người xem chỉ tin tưởng một nhân viên thực sự của bên thứ ba đó. Tấn công giả mạo là một loại thủ đoạn tấn công phi kỹ thuật nhằm lừa người xem thực hiện một hành động cụ thể là cung cấp thông tin, chẳng hạn như thông tin đăng nhập.

Bạn có thể tìm thêm thông tin tại đây.

UNWANTED_SOFTWARE Kiểu mối đe doạ từ phần mềm không mong muốn. Phần mềm không mong muốn là bất kỳ phần mềm nào không tuân thủ các Nguyên tắc về phần mềm của Google nhưng không phải là phần mềm độc hại.
POTENTIALLY_HARMFUL_APPLICATION Dạng mối đe doạ đối với ứng dụng có khả năng gây hại mà Google Play Protect sử dụng cho Cửa hàng Play.

LikelySafeType

Các loại trang web có khả năng an toàn.

Xin lưu ý rằng SearchHashesResponse có chủ đích không chứa LikelySafeType.

Enum
LIKELY_SAFE_TYPE_UNSPECIFIED Không xác định.
GENERAL_BROWSING Trang web này có thể đủ an toàn để duyệt web nói chung. Bộ nhớ đệm này còn được gọi là bộ nhớ đệm chung.
CSD Trang web này có thể đủ an toàn để không cần chạy mô hình Phát hiện phía máy khách hay kiểm tra bảo vệ mật khẩu.
DOWNLOAD Trang web này có thể đủ an toàn để không cần phải kiểm tra các tệp tải xuống từ trang web.

HashLength

Độ dài hàm băm trong danh sách hàm băm.

Enum
HASH_LENGTH_UNSPECIFIED Độ dài không xác định. Máy chủ sẽ không trả về giá trị này trong các phản hồi cho máy khách (trong trường supportedHashLengths), nhưng máy khách được phép gửi giá trị này đến máy chủ (trong trường desiredHashLength). Trong trường hợp đó, máy chủ sẽ tự động chọn một giá trị. Ứng dụng PHẢI cho phép máy chủ chọn một giá trị.
FOUR_BYTES Mỗi hàm băm là một tiền tố 4 byte.
EIGHT_BYTES Mỗi hàm băm là một tiền tố 8 byte.
SIXTEEN_BYTES Mỗi hàm băm là một tiền tố 16 byte.
THIRTY_TWO_BYTES Mỗi hàm băm là một hàm băm đầy đủ dài 32 byte.

Phương thức

get

Nhận nội dung mới nhất của danh sách băm.