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. Xin lưu ý rằng Bộ nhớ đệm chung cũng chỉ là một danh sách băm và có thể tham khảo 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ác với các byte đó.

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

partialUpdate

boolean

Khi đúng, đây là điểm khác biệt một phần, trong đó có nội dung bổ sung và xoá dựa trên những dữ liệu mà ứng dụng đã có. Nếu giá trị là sai, thì đây là danh sách băm hoàn chỉnh.

Khi giá trị là sai, ứng dụng PHẢI xoá mọi phiên bản được lưu trữ cục bộ đối với 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 đã bị lỗi thời nghiêm trọng hoặc dữ liệu của ứng dụng được cho là bị hỏng. Trường compressedRemovals sẽ trống.

Nếu đú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 bổ sung.

compressedRemovals

object (RiceDeltaEncoded32Bit)

Phiên bản chỉ mục xoá được mã hoá Tea-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ã hóa.

minimumWaitDuration

string (Duration format)

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

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

metadata

object (HashListMetadata)

Siêu dữ liệu về danh sách băm. Trường 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 hợp compressed_additions. Phiên bản bổ sung được mã hoá Tea-delta. Độ dài tiền tố băm của các lượt bổ sung là thống nhất trên tất cả các mục bổ sung trong danh sách. Đó có thể 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:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

Các dữ liệu bổ sung 4 byte.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

Các dữ liệu bổ sung 8 byte.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

Các dữ liệu bổ sung 16 byte.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

Các dữ liệu bổ sung 32 byte.

Trường hợp checksum. Đây là giá trị tổng kiểm của danh sách đã sắp xếp gồm 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à trường "một trong" 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 có nội dung cập nhật nào được cung cấp) để cho biết rằng ứng dụng 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:
sha256Checksum

string (bytes format)

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

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

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

Lưu ý trước đây: mã hoá Tea-delta được sử dụng lần đầu trong phiên bản 4 của API này. Trong phiên bản 5, hai cải tiến đáng kể đã được thực hiện: thứ nhất, phương thức mã hoá Tea-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 xử lý dưới dạng Big-endian để tránh phải thực hiện 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 băm duy nhất được mã hoá. Nếu trường trống thì mục nhập sẽ bằng 0.

riceParameter

integer

Thông 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 nhập được mã hoá delta bằng dữ liệu được 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ã hoá được mã hoá bằng trình lập trình Golomb-Rice.

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

Mã hóa 64 bit

Giống như RiceDeltaEncoded32Bit, ngoại trừ 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 được mã hoá (hàm băm) hoặc giá trị của mục đó nếu chỉ có một tiền tố băm duy nhất được mã hoá. Nếu trường trống thì mục nhập sẽ bằng 0.

riceParameter

integer

Thông 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 nhập được mã hoá delta bằng dữ liệu được 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ã hoá được mã hoá bằng trình lập trình Golomb-Rice.

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

gạo được mã hóa 128 bit

Giống như RiceDeltaEncoded32Bit, ngoại trừ 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ủ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 phía trên đều bằng 0.

firstValueLo

string (uint64 format)

64 bit dưới 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 thấp hơn đều bằng 0.

riceParameter

integer

Thông 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 nhập được mã hoá delta bằng dữ liệu được 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ã hoá được mã hoá bằng trình lập trình Golomb-Rice.

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

Mã hoá 256Bit

Giống như RiceDeltaEncoded32Bit, ngoại trừ 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 nhập đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, 64 bit đầu tiên đều bằng 0.

firstValueSecondPart

string (uint64 format)

Từ 65 đến 128 bit của mục nhập đầu tiên trong dữ liệu được mã hóa (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)

Từ 129 đến 192 bit của mục đầu tiên trong dữ liệu mã hóa (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 nhập đầu tiên trong dữ liệu được mã hoá (hàm băm). Nếu trường này trống, 64 bit cuối cùng đều bằng 0.

riceParameter

integer

Thông 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 nhập được mã hoá delta bằng dữ liệu được 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ã hoá được mã hoá bằng trình lập trình 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)
  ],
  "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, giá trị này sẽ cho biết danh sách băm thuộc 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 tiền tố hàm băm hoặc tiền tố hàm băm trong danh sách băm này. Có thể để trống nếu mục nhập không đại diện cho mối đe doạ, chẳng hạn như trong trường hợp mục nhập đó đạ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ì giá trị này sẽ cho biết 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, đồng thời liệt kê những cách các hàm băm được coi là an toàn. Trường này loại trừ lẫn nhau với trường preventTypes.

mobileOptimized

boolean

Liệu danh sách này có được tối ưu hóa 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 để trống.

ThreatType

Các loại hành vi đe doạ.

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

Kiểu 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

Kiểu đe doạ tấn công phi kỹ thuật. Các trang tấn công phi kỹ thuật ngụ ý sai sự thật cho hành động thay mặt cho một bên thứ ba nhằm làm người xem bối rối khi thực hiện một hành động mà người xem sẽ chỉ tin tưởng một đại diện thực sự của bên thứ ba đó. Tấn công giả mạ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 Kiểu 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 Kiểu mối đe doạ đối với ứng dụng có khả năng gây hại như 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 web chung. Bộ nhớ đệm này còn gọi là bộ nhớ đệm chung.
CSD Trang web này có khả năng đủ an toà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 bảo vệ bằng mật khẩu.
DOWNLOAD Trang web này có khả năng đủ an toàn để bạn không cần phải 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 băm.

Enum
HASH_LENGTH_UNSPECIFIED Thời lượng chưa chỉ đị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 đượ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 đủ 32 byte.

Phương thức

get

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