REST Resource: hashList

Tài nguyên: HashList

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

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

string

Tên của danh sách hàm băm. Xin lưu ý rằng Bộ nhớ đệm toàn cầu cũng chỉ là một danh sách băm và bạn có thể tham khảo danh sách này tại đây.

version

string (bytes format)

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

Một chuỗi được mã hoá base64.

partialUpdate

boolean

Khi được đặt thành true, đây là một bản khác biệt một phần chứa các nội dung bổ sung và xoá dựa trên những gì ứng dụng đã có. Nếu là false, đây 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 mà ứng dụng sở hữu đã quá cũ 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 bản cập nhật gia tăng bằng cách áp dụng các thao tác xoá rồi thêm.

compressedRemovals

object (RiceDeltaEncoded32Bit)

Phiên bản được mã hoá Rice-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, nên các chỉ mục được coi là số nguyên 32 bit và được mã hoá.

minimumWaitDuration

string (Duration format)

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

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

sha256Checksum

string (bytes format)

Danh sách đã sắp xếp của tất cả các hàm băm, được băm lại bằng SHA256. Đây là tổng kiểm cho danh sách đã sắp xếp của tất cả các hàm băm có trong cơ sở dữ liệu sau khi áp dụng bản cập nhật được cung cấp. Trong trường hợp không có bản cập nhật nào, máy chủ sẽ bỏ qua trường này để cho biết rằng máy khách nên sử dụng tổng kiểm hiện có.

Một chuỗi được mã hoá base64.

metadata

object (HashListMetadata)

Siêu dữ liệu về danh sách hàm băm. Phương thức hashList.get không điền sẵn thông tin này, nhưng phương thức ListHashLists thì có.

Trường nhóm compressed_additions. Phiên bản được mã hoá Rice-delta của các phần bổ sung. Độ dài tiền tố băm của các mục bổ sung là đồng nhất trên tất cả các mục bổ sung trong danh sách. compressed_additions chỉ có thể là một trong những trạng thái sau:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Các phần bổ sung 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Các phần bổ sung 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Các phần bổ sung 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Các phần bổ sung 32 byte.

RiceDeltaEncoded32Bit

Dữ liệu được mã hoá bằng Rice-Golomb. Dùng cho cả hàm băm hoặc chỉ mục xoá. Đả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 sắp xếp tất cả các mục theo thứ tự từ điển, chúng ta sẽ thấy rằng các bit có thứ tự cao hơn thường không thay đổi thường xuyên như các bit có 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, thì các bit bậc cao có khả năng cao là bằng 0. Điều này khai thác xác suất cao bằng 0 này bằng cách chọn một số bit nhất định; tất cả các bit quan trọng hơn bit này có khả năng bằng 0 nên chúng ta sử dụng phương pháp mã hoá đơn vị. Xem trường riceParameter.

Lưu ý về lịch sử: phương thức mã hoá Rice-delta được dùng lần đầu tiên trong phiên bản 4 của API này. Trong V5, có 2 điểm cải tiến đáng kể: thứ nhất, phương thức mã hoá Rice-delta hiện có sẵn với tiền tố băm dài hơn 4 byte; thứ hai, dữ liệu được mã hoá hiện được coi là big-endian để 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á (băm hoặc chỉ mục), hoặc nếu chỉ có một tiền tố băm hoặc chỉ mục được mã hoá, thì đó là giá trị của mục nhập. Nếu trường này trống, mục nhập sẽ là 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 3 đến 30.

entriesCount

integer

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

encodedData

string (bytes format)

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

Một chuỗi được mã hoá base64.

RiceDeltaEncoded64Bit

Tương tự 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 đầu tiên trong dữ liệu được mã hoá (băm) hoặc giá trị của mục đó nếu chỉ có một tiền tố băm được mã hoá. Nếu trường này trống, mục nhập sẽ là 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 35 đến 62.

entriesCount

integer

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

encodedData

string (bytes format)

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

Một chuỗi được mã hoá base64.

RiceDeltaEncoded128Bit

Tương tự 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 được mã hoá (băm). Nếu trường này trống, 64 bit trên sẽ đề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 được mã hoá (hàm băm). Nếu trường này trống, 64 bit thấp hơn sẽ đều bằng 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 99 đến 126.

entriesCount

integer

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

encodedData

string (bytes format)

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

Một chuỗi được mã hoá base64.

RiceDeltaEncoded256Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc mã này 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 được 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)

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

firstValueThirdPart

string (uint64 format)

Các bit từ 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 này 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 được mã hoá (băm). Nếu trường này trống, thì 64 bit cuối cùng đều là số 0.

riceParameter

integer

Tham số Golomb-Rice. Tham số này chắc chắn nằm trong khoảng từ 227 đến 254.

entriesCount

integer

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

encodedData

string (bytes format)

Các delta được mã hoá bằng bộ mã hoá Golomb-Rice.

Một 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)
  ],
  "description": string,
  "hashLength": enum (HashLength)
}
Trường
threatTypes[]

enum (ThreatType)

Danh sách không theo thứ tự. Nếu không trống, thì giá trị này chỉ định rằng danh sách băm là một loại danh sách mối đe doạ và liệt kê các loại mối đe doạ được liên kết với các giá trị băm hoặc tiền tố băm trong danh sách băm này. Có thể trống nếu mục không đại diện cho một 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 không trống, thì danh sách này chỉ định rằng danh sách băm đại diện cho danh sách các hàm băm có khả năng an toàn và danh sách này liệt kê những cách mà các hàm băm đó được coi là có khả năng an toàn. Trường này mang tính loại trừ lẫn nhau với trường threatTypes.

description

string

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

hashLength

enum (HashLength)

Độ dài băm được hỗ trợ cho danh sách băm này. Mỗi danh sách băm sẽ chỉ hỗ trợ một độ dài. Nếu một độ dài băm khác được giới thiệu cho cùng một nhóm loại mối đe doạ hoặc loại an toàn, thì độ dài đó sẽ được giới thiệu dưới dạng một danh sách riêng biệt có tên riêng biệt và độ dài băm tương ứng.

ThreatType

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

Enum
THREAT_TYPE_UNSPECIFIED Loại mối đe doạ không xác định. Nếu máy chủ trả về giá trị này, thì ứng dụng sẽ hoàn toàn bỏ qua FullHashDetail bao quanh.
MALWARE

Loại mối đ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

Loại mối đe doạ tấn công phi kỹ thuật. Các trang tấn công phi kỹ thuật giả mạo là hành vi thay mặt cho bên thứ ba nhằm mục đích khiến người xem nhầm lẫn và thực hiện một hành động mà người xem chỉ tin tưởng một đặc vụ thực sự của bên thứ ba đó. Lừa đảo là một loại 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 Loại mối đe doạ 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ủ 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 Loại mối đe doạ là ứng dụng có khả năng gây hại do Google Play Protect 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ố ý 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 thông thường. Đây còn được gọi là bộ nhớ đệm toàn cầu.
CSD Trang web này có khả năng đủ an toàn nên không cần chạy các mô hình Phát hiện phía máy khách hoặc kiểm tra bảo vệ bằng mật khẩu.
DOWNLOAD Trang web này có thể đủ an toàn để không cần kiểm tra các tệp tải xuống từ trang web.

HashLength

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

Enum
HASH_LENGTH_UNSPECIFIED Độ dài không xác định.
FOUR_BYTES Mỗi hàm băm là một tiền tố gồm 4 byte.
EIGHT_BYTES Mỗi hàm băm là một tiền tố gồm 8 byte.
SIXTEEN_BYTES Mỗi hàm băm là một tiền tố gồm 16 byte.
THIRTY_TWO_BYTES Mỗi hàm băm là một hàm băm đầy đủ gồm 32 byte.

Phương thức

get

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