- แหล่งข้อมูล: HashList
- RiceDeltaEnencrypted32Bit
- RiceDeltaEnencrypted64Bit
- RiceDeltaEncoding 128 บิต
- RiceDeltaEncoding256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- เมธอด
แหล่งข้อมูล: HashList
รายการแฮชที่ระบุตามชื่อ
การแสดง JSON |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
ช่อง | |
---|---|
name |
ชื่อรายการแฮช โปรดทราบว่า Global Cache เป็นเพียงรายการแฮชและอ้างอิงถึงได้ที่นี่ |
version |
เวอร์ชันของรายการแฮช ไคลเอ็นต์ต้องไม่จัดการไบต์เหล่านั้น สตริงที่เข้ารหัสฐาน 64 |
partialUpdate |
เมื่อเป็นจริง ข้อมูลนี้เป็นความแตกต่างบางส่วนที่มีส่วนเพิ่มเติมและการนำออกซึ่งอิงจากสิ่งที่ลูกค้ามีอยู่แล้ว หากตั้งค่าเป็น "เท็จ" รายการแฮชทั้งหมดจะเป็นรายการแฮชทั้งหมด เมื่อเป็น "เท็จ" ไคลเอ็นต์ต้องลบเวอร์ชันที่จัดเก็บไว้ในเครื่องสำหรับรายการแฮชนี้ ซึ่งหมายความว่าเวอร์ชันที่ไคลเอ็นต์เป็นเจ้าของนั้นเก่าเกินไปมากหรือเชื่อว่าข้อมูลไคลเอ็นต์เสียหาย ช่อง เมื่อเป็นจริง ไคลเอ็นต์ต้องใช้การอัปเดตทีละส่วนโดยใช้การนำออกและเพิ่มเติม |
compressedRemovals |
ดัชนีการนำออกเวอร์ชัน Rice-delta ที่เข้ารหัส เนื่องจากรายการแฮชแต่ละรายการมีรายการน้อยกว่า 2^32 รายการ ดัชนีจึงถือเป็นจำนวนเต็ม 32 บิตและเข้ารหัส |
minimumWaitDuration |
ไคลเอ็นต์ควรรอจนถึงเวลานี้เป็นอย่างน้อยเพื่อรับรายการแฮชอีกครั้ง หากไม่ระบุหรือเป็น 0 ไคลเอ็นต์ควรดึงข้อมูลทันทีเนื่องจากระบุว่าเซิร์ฟเวอร์มีการอัปเดตเพิ่มเติมที่จะส่งไปยังไคลเอ็นต์ แต่ส่งไม่ได้เนื่องจากข้อจำกัดที่ระบุโดยไคลเอ็นต์ ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก ลงท้ายด้วย " |
metadata |
ข้อมูลเมตาเกี่ยวกับรายการแฮช ค่านี้ไม่ได้แสดงโดยเมธอด |
ช่องการรวม compressed_additions เวอร์ชันเพิ่มเติมที่เข้ารหัสข้าวเดลต้า การเพิ่มแฮชของส่วนเพิ่มจะเป็นรูปแบบเดียวกันสำหรับการเพิ่มทั้งหมดในรายการ ซึ่งอาจเป็น desired_hash_length ที่ไคลเอ็นต์ส่ง หรือค่าที่เซิร์ฟเวอร์เลือกหากไคลเอ็นต์ไม่ระบุช่องนั้น compressed_additions ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ |
|
additionsFourBytes |
การเพิ่มเติมขนาด 4 ไบต์ |
additionsEightBytes |
ส่วนเพิ่มเติม 8 ไบต์ |
additionsSixteenBytes |
การเพิ่มเติมขนาด 16 ไบต์ |
additionsThirtyTwoBytes |
การเพิ่มเติมขนาด 32 ไบต์ |
ช่องการรวม checksum นี่คือ checksum สำหรับรายการแฮชทั้งหมดที่จัดเรียงแล้วซึ่งมีอยู่ในฐานข้อมูลหลังจากนำการอัปเดตที่ระบุไปใช้ นี่คือ "อย่างใดอย่างหนึ่ง" เพื่ออนุญาตอัลกอริทึมการแฮชหลายรายการ นอกจากนี้ เซิร์ฟเวอร์อาจข้ามช่องนี้ (ในกรณีที่ไม่ได้ให้การอัปเดต) เพื่อระบุว่าไคลเอ็นต์ควรใช้ checksum ที่มีอยู่ checksum ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ |
|
sha256Checksum |
รายการแฮชทั้งหมดที่จัดเรียงแล้ว ระบบจะแฮชอีกครั้งด้วย 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 |
รายการแรกในข้อมูลที่เข้ารหัส (แฮชหรือดัชนี) หรือหากเข้ารหัสคำนำหน้าแฮชหรือดัชนีเพียงรายการเดียว ค่าของรายการนั้น หากช่องว่างเปล่า รายการจะเป็น 0 |
riceParameter |
พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 3 ถึง 30 (รวมค่าแรกและค่าสุดท้าย) |
entriesCount |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเพียงค่าเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน |
encodedData |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice สตริงที่เข้ารหัสฐาน 64 |
RiceDeltaEncoding 64 บิต
เหมือนกับ RiceDeltaEncoded32Bit
ยกเว้นนี้จะเข้ารหัสหมายเลข 64 บิต
การแสดง JSON |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
ช่อง | |
---|---|
firstValue |
รายการแรกในข้อมูลที่เข้ารหัส (แฮช) หรือหากเข้ารหัสคำนำหน้าแฮชเพียงรายการเดียว ค่าของรายการนั้น หากช่องว่างเปล่า รายการจะเป็น 0 |
riceParameter |
พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 35 ถึง 62 (รวมค่าแรกและค่าสุดท้าย) |
entriesCount |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเพียงค่าเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน |
encodedData |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice สตริงที่เข้ารหัสฐาน 64 |
RiceDeltaEncoding 128 บิต
เหมือนกับ RiceDeltaEncoded32Bit
ยกเว้นนี้จะเข้ารหัสหมายเลข 128 บิต
การแสดง JSON |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
ช่อง | |
---|---|
firstValueHi |
64 บิตบนของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตบนจะเป็น 0 ทั้งหมด |
firstValueLo |
64 บิตล่างของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตที่ต่ำกว่าจะเป็น 0 ทั้งหมด |
riceParameter |
พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 99 ถึง 126 (รวมค่าแรกและค่าสุดท้าย) |
entriesCount |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน |
encodedData |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice สตริงที่เข้ารหัสฐาน 64 |
RiceDeltaEncoding 256 บิต
เหมือนกับ RiceDeltaEncoded32Bit
ยกเว้นนี้จะเข้ารหัสหมายเลข 256 บิต
การแสดง JSON |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
ช่อง | |
---|---|
firstValueFirstPart |
64 บิตแรกของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตแรกจะเป็น 0 ทั้งหมด |
firstValueSecondPart |
บิตที่ 65 ถึง 128 ของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า จำนวนบิต 65 ถึง 128 จะเป็น 0 ทั้งหมด |
firstValueThirdPart |
บิตที่ 129 ถึง 192 ของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า จำนวนบิต 129 ถึง 192 จะเป็น 0 ทั้งหมด |
firstValueFourthPart |
64 บิตสุดท้ายของรายการแรกในข้อมูลที่เข้ารหัส (แฮช) หากช่องดังกล่าวว่างเปล่า 64 บิตสุดท้ายจะเป็น 0 ทั้งหมด |
riceParameter |
พารามิเตอร์ Golomb-Rice เรารับประกันว่าพารามิเตอร์นี้จะอยู่ระหว่าง 227 ถึง 254 |
entriesCount |
จำนวนรายการที่เข้ารหัสแบบเดลต้าในข้อมูลที่เข้ารหัส หากมีการเข้ารหัสจำนวนเต็มเพียงค่าเดียว ค่านี้จะเป็น 0 และระบบจะจัดเก็บค่าเดียวไว้ใน |
encodedData |
เดลต้าที่เข้ารหัสซึ่งเข้ารหัสโดยใช้ตัวแปลงรหัส Golomb-Rice สตริงที่เข้ารหัสฐาน 64 |
HashListMetadata
ข้อมูลเมตาเกี่ยวกับรายการแฮชที่เฉพาะเจาะจง
การแสดง JSON |
---|
{ "threatTypes": [ enum ( |
ช่อง | |
---|---|
threatTypes[] |
รายการที่ไม่เรียงลำดับ หากไม่ว่างเปล่า การดำเนินการนี้จะระบุว่ารายการแฮชเป็นรายการภัยคุกคามประเภทหนึ่ง และการแจกแจงประเภทภัยคุกคามที่เชื่อมโยงกับแฮชหรือคำนำหน้าแฮชในรายการแฮชนี้ อาจว่างเปล่าหากรายการไม่ได้แสดงถึงภัยคุกคาม เช่น ในกรณีที่รายการแสดงถึงประเภทที่อาจปลอดภัย |
likelySafeTypes[] |
รายการที่ไม่เรียงลำดับ หากไม่ว่างเปล่า การดำเนินการนี้จะระบุว่ารายการแฮชแสดงถึงรายการแฮชที่อาจปลอดภัย และแจกแจงวิธีที่เห็นว่าน่าจะปลอดภัย ช่องนี้ไม่เกี่ยวข้องกับฟิลด์ ThreatTypes |
mobileOptimized |
รายการนี้เหมาะสำหรับอุปกรณ์เคลื่อนที่ (Android และ iOS) หรือไม่ |
description |
คำอธิบายรายการนี้ที่มนุษย์อ่านได้ เขียนเป็นภาษาอังกฤษ |
supportedHashLengths[] |
ความยาวแฮชที่รองรับสำหรับรายการแฮชนี้ รายการแฮชแต่ละรายการรองรับความยาวอย่างน้อย 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 ไบต์ |
เมธอด |
|
---|---|
|
รับเนื้อหาล่าสุดของรายการแฮช |