REST Resource: hashList

Tài nguyên: HashList

Danh sách các 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,
  "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 băm. Xin lưu ý rằng Bộ nhớ đệm toàn cục cũng chỉ là một danh sách băm và có thể được tham chiếu tại đây.

version

string (bytes format)

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

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

partialUpdate

boolean

Khi đúng, đây là một phần thay đổi chứa các nội dung bổ sung và xoá dựa trên nội dung mà ứng dụng đã có. Khi giá trị là false, đây là danh sách hàm 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 đã lỗi thời nghiêm trọng 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 lượt xoá rồi thêm.

compressedRemovals

object (RiceDeltaEncoded32Bit)

Phiên bản chỉ mục xoá được mã hoá bằng Rice-delta. 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)

Ứng dụng phải đợi ít nhất 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, thì ứng dụng PHẢI 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 đến ứng dụng, nhưng không thể gửi 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, 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 tất cả hàm băm, được băm lại bằng SHA256. Đây là tổng kiểm tra cho danh sách đã sắp xếp của tất 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ó nội dung cập nhật nào được cung cấp, máy chủ sẽ bỏ qua trường này để cho biết rằng ứng dụng khách nên sử dụng tổng kiểm tra hiện có.

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

metadata

object (HashListMetadata)

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

Trường hợp hợp nhất compressed_additions. Phiên bản bổ sung được mã hoá bằng Rice-delta. Độ dài tiền tố hàm băm của các phần bổ sung là đồng nhất trên tất cả các phần bổ sung trong danh sách. Đây là desired_hash_length do ứng dụng gửi hoặc là 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 giá trị sau:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Phần bổ sung 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Phần bổ sung 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Phần bổ sung 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Phần bổ sung 32 byte.

RiceDeltaEncoded32Bit

Dữ liệu được mã hoá Rice-Golomb. Dùng cho 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ự bảng chữ cái, chúng ta sẽ thấy rằng các bit thứ tự cao hơn thườ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 sự khác biệt liền kề giữa các mục nhập, thì các bit thứ tự cao hơn có nhiều khả năng bằng 0. Phương thức này khai thác xác suất cao của số không bằng cách chọn một số bit nhất định; tất cả các bit có ý nghĩa hơn số này có thể là số không nên chúng ta sử dụng phương thức mã hoá một ngôi. Xem trường riceParameter.

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

riceParameter

integer

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

entriesCount

integer

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, 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ã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

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

RiceDeltaEncoded64Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc hàm này 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 đã mã hoá (hàm băm) hoặc giá trị của mục đó nếu chỉ mã hoá một tiền tố hàm băm. Nếu trường này trống, mục nhập sẽ là 0.

riceParameter

integer

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

entriesCount

integer

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, 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ã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

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

RiceDeltaEncoded128Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc hàm này 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ù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 trên cùng đề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. Thông số này được đảm bảo nằm trong khoảng từ 99 đến 126.

entriesCount

integer

Số lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, 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ã hoá được mã hoá bằng bộ mã hoá Golomb-Rice.

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

RiceDeltaEncoded256Bit

Tương tự như RiceDeltaEncoded32Bit, ngoại trừ việc hà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 đã 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 từ 65 đến 128 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, các bit từ 65 đến 128 đều bằng 0.

firstValueThirdPart

string (uint64 format)

Các bit từ 129 đến 192 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, 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ố lượng mục được mã hoá delta trong dữ liệu đã mã hoá. Nếu chỉ mã hoá một số nguyên, 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ã hoá được mã hoá bằng bộ mã hoá 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)
  ],
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ],
  "hashLength": enum (HashLength)
}
Trường
threatTypes[]

enum (ThreatType)

Danh sách không theo thứ tự. Nếu không trống, giá trị này chỉ định rằng danh sách hàm băm là một loại danh sách mối đe doạ và liệt kê loại mối đe doạ liên kết với hàm băm hoặc tiền tố hàm 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 nhập đó thể hiện một loại có thể an toàn.

likelySafeTypes[]

enum (LikelySafeType)

Danh sách không theo thứ tự. Nếu không trống, thuộc tính này chỉ định rằng danh sách hàm băm đại diện cho danh sách các hàm băm có khả năng an toàn và liệt kê các cách mà các hàm băm đó được coi là có khả năng an toàn. Trường này 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. Được viết bằng tiếng Anh.

supportedHashLengths[]
(deprecated)

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 để trống.

hashLength

enum (HashLength)

Chiều 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ợ đúng một độ dài. Nếu một độ dài hàm băm khác được đưa vào cùng một nhóm loại mối đe doạ hoặc loại an toàn, thì độ dài hàm băm đó sẽ được đưa vào dưới dạng một danh sách riêng biệt với tên riêng biệt và nhóm độ dài hàm 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ẽ bỏ qua hoàn toàn FullHashDetail bao gồm.
MALWARE

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

HashLength

Độ dài của 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 ứng dụng khách (trong trường supportedHashLengths), nhưng ứng dụng khách được phép gửi giá trị này đến máy chủ (trong trường desiredHashLength). Trong trường hợp này, 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 đủ 32 byte.

Phương thức

get

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