REST Resource: hashList

แหล่งข้อมูล: HashList

รายการแฮชที่ระบุตามชื่อ

การแสดง 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.
}
ช่อง
name

string

ชื่อรายการแฮช โปรดทราบว่า Global Cache เป็นเพียงรายการแฮชและอ้างอิงถึงได้ที่นี่

version

string (bytes format)

เวอร์ชันของรายการแฮช ไคลเอ็นต์ต้องไม่จัดการไบต์เหล่านั้น

สตริงที่เข้ารหัสฐาน 64

partialUpdate

boolean

เมื่อเป็นจริง ข้อมูลนี้เป็นความแตกต่างบางส่วนที่มีส่วนเพิ่มเติมและการนำออกซึ่งอิงจากสิ่งที่ลูกค้ามีอยู่แล้ว หากตั้งค่าเป็น "เท็จ" รายการแฮชทั้งหมดจะเป็นรายการแฮชทั้งหมด

เมื่อเป็น "เท็จ" ไคลเอ็นต์ต้องลบเวอร์ชันที่จัดเก็บไว้ในเครื่องสำหรับรายการแฮชนี้ ซึ่งหมายความว่าเวอร์ชันที่ไคลเอ็นต์เป็นเจ้าของนั้นเก่าเกินไปมากหรือเชื่อว่าข้อมูลไคลเอ็นต์เสียหาย ช่อง compressedRemovals จะว่างเปล่า

เมื่อเป็นจริง ไคลเอ็นต์ต้องใช้การอัปเดตทีละส่วนโดยใช้การนำออกและเพิ่มเติม

compressedRemovals

object (RiceDeltaEncoded32Bit)

ดัชนีการนำออกเวอร์ชัน Rice-delta ที่เข้ารหัส เนื่องจากรายการแฮชแต่ละรายการมีรายการน้อยกว่า 2^32 รายการ ดัชนีจึงถือเป็นจำนวนเต็ม 32 บิตและเข้ารหัส

minimumWaitDuration

string (Duration format)

ไคลเอ็นต์ควรรอจนถึงเวลานี้เป็นอย่างน้อยเพื่อรับรายการแฮชอีกครั้ง หากไม่ระบุหรือเป็น 0 ไคลเอ็นต์ควรดึงข้อมูลทันทีเนื่องจากระบุว่าเซิร์ฟเวอร์มีการอัปเดตเพิ่มเติมที่จะส่งไปยังไคลเอ็นต์ แต่ส่งไม่ได้เนื่องจากข้อจำกัดที่ระบุโดยไคลเอ็นต์

ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย "s" ตัวอย่างเช่น "3.5s"

metadata

object (HashListMetadata)

ข้อมูลเมตาเกี่ยวกับรายการแฮช ค่านี้ไม่ได้แสดงโดยเมธอด hashList.get แต่สร้างขึ้นโดยเมธอด ListHashLists

ช่องการรวม compressed_additions เวอร์ชันเพิ่มเติมที่เข้ารหัสข้าวเดลต้า การเพิ่มแฮชของส่วนเพิ่มจะเป็นรูปแบบเดียวกันสำหรับการเพิ่มทั้งหมดในรายการ ซึ่งอาจเป็น desired_hash_length ที่ไคลเอ็นต์ส่ง หรือค่าที่เซิร์ฟเวอร์เลือกหากไคลเอ็นต์ไม่ระบุช่องนั้น compressed_additions ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
additionsFourBytes

object (RiceDeltaEncoded32Bit)

การเพิ่มเติมขนาด 4 ไบต์

additionsEightBytes

object (RiceDeltaEncoded64Bit)

ส่วนเพิ่มเติม 8 ไบต์

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

การเพิ่มเติมขนาด 16 ไบต์

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

การเพิ่มเติมขนาด 32 ไบต์

ช่องการรวม checksum นี่คือ checksum สำหรับรายการแฮชทั้งหมดที่จัดเรียงแล้วซึ่งมีอยู่ในฐานข้อมูลหลังจากนำการอัปเดตที่ระบุไปใช้ นี่คือ "อย่างใดอย่างหนึ่ง" เพื่ออนุญาตอัลกอริทึมการแฮชหลายรายการ นอกจากนี้ เซิร์ฟเวอร์อาจข้ามช่องนี้ (ในกรณีที่ไม่ได้ให้การอัปเดต) เพื่อระบุว่าไคลเอ็นต์ควรใช้ checksum ที่มีอยู่ checksum ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้
sha256Checksum

string (bytes format)

รายการแฮชทั้งหมดที่จัดเรียงแล้ว ระบบจะแฮชอีกครั้งด้วย SHA256

สตริงที่เข้ารหัสฐาน 64

RiceDeltaEncoding 32 บิต

ข้อมูลที่เข้ารหัส Rice-Golomb ใช้สำหรับแฮชหรือดัชนีการนำออก เราขอรับประกันว่าแฮชหรือดัชนีทุกรายการในที่นี้จะมีความยาวเท่ากัน และความยาวนี้เท่ากับ 32 บิตพอดี

กล่าวโดยทั่วไปคือ หากเราจัดเรียงรายการทั้งหมดแบบพจนานุกรม เราจะพบว่าบิตลำดับที่สูงกว่ามีแนวโน้มที่จะไม่เปลี่ยนแปลงบ่อยเท่ากับบิตลำดับที่ต่ำกว่า ซึ่งหมายความว่า หากเรานำความแตกต่างที่อยู่ติดกันระหว่างรายการต่างๆ ด้วย จำนวนบิตของลำดับที่สูงกว่าจะมีโอกาสสูงที่จะเป็น 0 ซึ่งจะใช้ประโยชน์จากความน่าจะเป็นสูงที่ค่า 0 นี้โดยการเลือกจำนวนบิตเป็นหลัก ค่าทุกบิตที่มีนัยสำคัญมากกว่านี้มักจะเป็น 0 เราจึงใช้การเข้ารหัสแบบเอกภาค ดูช่อง riceParameter

หมายเหตุตลอดช่วงเวลา: การเข้ารหัส Rice-delta มีการใช้ครั้งแรกใน V4 ของ API นี้ ในเวอร์ชัน 5 มีการปรับปรุงที่สำคัญ 2 อย่างด้วยกัน ได้แก่ ประการแรก การเข้ารหัส Rice-delta พร้อมใช้งานด้วยค่าแฮชนำหน้าที่ยาวกว่า 4 ไบต์ ประการที่ 2 ข้อมูลที่เข้ารหัสจะถือว่าเป็นข้อมูลขนาดใหญ่ (Big-endian) เพื่อหลีกเลี่ยงขั้นตอนการจัดเรียงที่มีต้นทุนสูง

การแสดง JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
ช่อง
firstValue

integer (uint32 format)

รายการแรกในข้อมูลที่เข้ารหัส (แฮชหรือดัชนี) หรือหากเข้ารหัสคำนำหน้าแฮชหรือดัชนีเพียงรายการเดียว ค่าของรายการนั้น หากช่องว่างเปล่า รายการจะเป็น 0

riceParameter

integer

พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 3 ถึง 30 (รวมค่าแรกและค่าสุดท้าย)

entriesCount

integer

จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเพียงค่าเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน firstValue

encodedData

string (bytes format)

เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice

สตริงที่เข้ารหัสฐาน 64

RiceDeltaEncoding 64 บิต

เหมือนกับ RiceDeltaEncoded32Bit ยกเว้นนี้จะเข้ารหัสหมายเลข 64 บิต

การแสดง JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
ช่อง
firstValue

string

รายการแรกในข้อมูลที่เข้ารหัส (แฮช) หรือหากเข้ารหัสคำนำหน้าแฮชเพียงรายการเดียว ค่าของรายการนั้น หากช่องว่างเปล่า รายการจะเป็น 0

riceParameter

integer

พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 35 ถึง 62 (รวมค่าแรกและค่าสุดท้าย)

entriesCount

integer

จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเพียงค่าเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน firstValue

encodedData

string (bytes format)

เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice

สตริงที่เข้ารหัสฐาน 64

RiceDeltaEncoding 128 บิต

เหมือนกับ RiceDeltaEncoded32Bit ยกเว้นนี้จะเข้ารหัสหมายเลข 128 บิต

การแสดง JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
ช่อง
firstValueHi

string

64 บิตบนของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตบนจะเป็น 0 ทั้งหมด

firstValueLo

string (uint64 format)

64 บิตล่างของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตที่ต่ำกว่าจะเป็น 0 ทั้งหมด

riceParameter

integer

พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 99 ถึง 126 (รวมค่าแรกและค่าสุดท้าย)

entriesCount

integer

จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน firstValue

encodedData

string (bytes format)

เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice

สตริงที่เข้ารหัสฐาน 64

RiceDeltaEncoding 256 บิต

เหมือนกับ RiceDeltaEncoded32Bit ยกเว้นนี้จะเข้ารหัสหมายเลข 256 บิต

การแสดง JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
ช่อง
firstValueFirstPart

string

64 บิตแรกของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตแรกจะเป็น 0 ทั้งหมด

firstValueSecondPart

string (uint64 format)

บิตที่ 65 ถึง 128 ของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า จำนวนบิต 65 ถึง 128 จะเป็น 0 ทั้งหมด

firstValueThirdPart

string (uint64 format)

บิตที่ 129 ถึง 192 ของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า จำนวนบิต 129 ถึง 192 จะเป็น 0 ทั้งหมด

firstValueFourthPart

string (uint64 format)

64 บิตสุดท้ายของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตสุดท้ายจะเป็น 0 ทั้งหมด

riceParameter

integer

พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 227 ถึง 254

entriesCount

integer

จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเพียงค่าเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน firstValue

encodedData

string (bytes format)

เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice

สตริงที่เข้ารหัสฐาน 64

HashListMetadata

ข้อมูลเมตาเกี่ยวกับรายการแฮชที่เฉพาะเจาะจง

การแสดง JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "mobileOptimized": boolean,
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ]
}
ช่อง
threatTypes[]

enum (ThreatType)

รายการที่ไม่เรียงลำดับ หากไม่ว่างเปล่า การดำเนินการนี้จะระบุว่ารายการแฮชเป็นรายการภัยคุกคามประเภทหนึ่ง และการแจกแจงประเภทภัยคุกคามที่เชื่อมโยงกับแฮชหรือคำนำหน้าแฮชในรายการแฮชนี้ อาจว่างเปล่าหากรายการไม่ได้แสดงถึงภัยคุกคาม เช่น ในกรณีที่รายการแสดงถึงประเภทที่อาจปลอดภัย

likelySafeTypes[]

enum (LikelySafeType)

รายการที่ไม่เรียงลำดับ หากไม่ว่างเปล่า การดำเนินการนี้จะระบุว่ารายการแฮชแสดงถึงรายการแฮชที่อาจปลอดภัย และแจกแจงวิธีที่เห็นว่าน่าจะปลอดภัย ช่องนี้ไม่เกี่ยวข้องกับฟิลด์ ThreatTypes

mobileOptimized

boolean

รายการนี้เหมาะสำหรับอุปกรณ์เคลื่อนที่ (Android และ iOS) หรือไม่

description

string

คำอธิบายรายการนี้ที่มนุษย์อ่านได้ เขียนเป็นภาษาอังกฤษ

supportedHashLengths[]

enum (HashLength)

ความยาวแฮชที่รองรับสำหรับรายการแฮชนี้ รายการแฮชแต่ละรายการรองรับความยาวอย่างน้อย 1 รายการ ดังนั้น ฟิลด์นี้จะไม่ว่างเปล่า

ThreatType

ประเภทของภัยคุกคาม

Enum
THREAT_TYPE_UNSPECIFIED ประเภทภัยคุกคามที่ไม่รู้จัก หากเซิร์ฟเวอร์ส่งคืนสิ่งนี้ ไคลเอ็นต์จะไม่ต้องสนใจ FullHashDetail ที่ล้อมรอบอยู่เลย
MALWARE

ประเภทภัยคุกคามมัลแวร์ มัลแวร์คือซอฟต์แวร์หรือแอปพลิเคชันบนอุปกรณ์เคลื่อนที่ใดๆ ก็ตามที่ออกแบบมาเพื่อสร้างความเสียหายแก่คอมพิวเตอร์ อุปกรณ์เคลื่อนที่ ซอฟต์แวร์ที่ทำงานอยู่ หรือผู้ใช้ซอฟต์แวร์นั้นๆ มัลแวร์มีลักษณะการทำงานที่เป็นอันตราย ซึ่งอาจรวมถึงการติดตั้งซอฟต์แวร์โดยไม่ได้รับคำยินยอมจากผู้ใช้ และการติดตั้งซอฟต์แวร์ที่เป็นอันตรายอย่างเช่น ไวรัส

ดูข้อมูลเพิ่มเติมได้ที่นี่

SOCIAL_ENGINEERING

ประเภทภัยคุกคามแบบวิศวกรรมสังคม เพจวิศวกรรมสังคมแอบอ้างว่าเป็นการกระทำในนามของบุคคลที่สามโดยมีเจตนาทำให้ผู้ชมเกิดความสับสนในการกระทำบางอย่าง ซึ่งผู้ชมจะเชื่อถือเฉพาะตัวแทนที่แท้จริงของบุคคลที่สามเท่านั้น ฟิชชิงเป็นวิศวกรรมสังคมประเภทหนึ่งที่หลอกผู้ชมให้ดำเนินการในการให้ข้อมูลที่เฉพาะเจาะจง เช่น ข้อมูลเข้าสู่ระบบ

ดูข้อมูลเพิ่มเติมได้ที่นี่

UNWANTED_SOFTWARE ประเภทภัยคุกคามจากซอฟต์แวร์ไม่พึงประสงค์ ซอฟต์แวร์ไม่พึงประสงค์คือซอฟต์แวร์ที่ไม่ปฏิบัติตามแนวนโยบายด้านซอฟต์แวร์ของ Google แต่ไม่ใช่มัลแวร์
POTENTIALLY_HARMFUL_APPLICATION ประเภทภัยคุกคามแอปพลิเคชันที่อาจเป็นอันตรายตามที่ใช้โดย Google Play Protect สำหรับ Play Store

LikelySafeType

ประเภทของเว็บไซต์ที่มีแนวโน้มปลอดภัย

โปรดทราบว่า SearchHashesResponse จงใจไม่มี LikelySafeType

Enum
LIKELY_SAFE_TYPE_UNSPECIFIED ไม่รู้จัก
GENERAL_BROWSING เว็บไซต์นี้น่าจะปลอดภัยพอสำหรับการท่องเว็บโดยทั่วไป ซึ่งเรียกอีกอย่างว่าแคชส่วนกลาง
CSD เว็บไซต์นี้น่าจะปลอดภัยมากพอที่จะไม่จำเป็นต้องเรียกใช้โมเดลการตรวจจับฝั่งไคลเอ็นต์หรือการตรวจสอบการป้องกันรหัสผ่าน
DOWNLOAD เว็บไซต์นี้น่าจะปลอดภัยพอจนไม่จำเป็นต้องตรวจสอบการดาวน์โหลดจากเว็บไซต์

HashLength

ความยาวของแฮชในรายการแฮช

Enum
HASH_LENGTH_UNSPECIFIED ความยาวที่ไม่ระบุ เซิร์ฟเวอร์จะไม่แสดงผลค่านี้ในการตอบกลับไปยังไคลเอ็นต์ (ในช่อง supportedHashLengths) แต่ไคลเอ็นต์จะส่งค่านี้ไปยังเซิร์ฟเวอร์ได้ (ในช่อง desiredHashLength) ซึ่งในกรณีนี้เซิร์ฟเวอร์จะเลือกค่าให้โดยอัตโนมัติ ไคลเอ็นต์ควรให้เซิร์ฟเวอร์เลือกค่า
FOUR_BYTES แฮชแต่ละรายการจะเป็นคํานําหน้า 4 ไบต์
EIGHT_BYTES แฮชแต่ละรายการคือคำนำหน้าขนาด 8 ไบต์
SIXTEEN_BYTES แฮชแต่ละรายการจะเป็นคำนำหน้า 16 ไบต์
THIRTY_TWO_BYTES แฮชแต่ละรายการคือแฮชแบบเต็มขนาด 32 ไบต์

เมธอด

get

รับเนื้อหาล่าสุดของรายการแฮช