REST Resource: hashList

ทรัพยากร: HashList

รายการแฮชที่ระบุด้วยชื่อ

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

string

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

version

string (bytes format)

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

สตริงที่เข้ารหัส Base64

partialUpdate

boolean

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

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

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

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

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

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

sha256Checksum

string (bytes format)

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

สตริงที่เข้ารหัส Base64

metadata

object (HashListMetadata)

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

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

object (RiceDeltaEncoded32Bit)

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

additionsEightBytes

object (RiceDeltaEncoded64Bit)

การเพิ่ม 8 ไบต์

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

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

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

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

RiceDeltaEncoded32Bit

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

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

หมายเหตุเกี่ยวกับประวัติ: การเข้ารหัส Rice-delta นี้เริ่มใช้ใน API เวอร์ชัน 4 ในเวอร์ชัน 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

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

encodedData

string (bytes format)

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

สตริงที่เข้ารหัส Base64

RiceDeltaEncoded64Bit

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

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

string

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

riceParameter

integer

พารามิเตอร์ Golomb-Rice พารามิเตอร์นี้ต้องอยู่ระหว่าง 35 ถึง 62

entriesCount

integer

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

encodedData

string (bytes format)

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

สตริงที่เข้ารหัส Base64

RiceDeltaEncoded128Bit

เหมือนกับ 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

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

encodedData

string (bytes format)

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

สตริงที่เข้ารหัส Base64

RiceDeltaEncoded256Bit

เหมือนกับ 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

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

encodedData

string (bytes format)

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

สตริงที่เข้ารหัส Base64

HashListMetadata

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

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

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

รายการที่ไม่เรียงลําดับ หากไม่ว่างเปล่า รายการนี้จะระบุว่ารายการแฮชแสดงรายการแฮชที่น่าจะปลอดภัย และรายการนี้จะแสดงวิธีต่างๆ ที่ถือว่าแฮชดังกล่าวน่าจะปลอดภัย ช่องนี้ใช้ร่วมกับช่อง threatTypes ไม่ได้

description

string

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

supportedHashLengths[]
(deprecated)

enum (HashLength)

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

hashLength

enum (HashLength)

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

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

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