REST Resource: hashList

משאב: HashList

רשימה של גיבוב (hash) שמזוהה לפי השם שלו.

ייצוג ב-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

אם הערך הוא true, מדובר ב-diff חלקי שמכיל הוספות והסרות על סמך מה שכבר קיים אצל הלקוח. כשהערך הוא false, זוהי רשימת הגיבוב המלאה.

אם הערך הוא false, הלקוח חייב למחוק כל גרסה שמאוחסנת באופן מקומי של רשימת הגיבוב הזו. המשמעות היא שהגרסה שבידי הלקוח לא עדכנית מספיק או שנתוני הלקוח פגומים. השדה compressedRemovals יהיה ריק.

כשהערך הוא true, הלקוח חייב להחיל עדכון מצטבר על ידי החלת הסרות ואז הוספות.

compressedRemovals

object (RiceDeltaEncoded32Bit)

הגרסה המקודדת של Rice-delta של אינדקסי ההסרות. מכיוון שכל רשימת גיבוב מכילה פחות מ-2^32 רשומות, האינדקסים נחשבים למספרים שלמים של 32 ביט ומקודדים.

minimumWaitDuration

string (Duration format)

לקוחות צריכים להמתין לפחות זמן זה כדי לקבל שוב את רשימת הגיבוב. אם השדה הזה לא מצוין או שהוא אפס, הלקוחות אמורים לאחזר אותו באופן מיידי כי הוא מציין שיש לשרת עדכון נוסף שצריך לשלוח ללקוח, אבל לא ניתן היה לעשות זאת בגלל האילוצים שצוינו על ידי הלקוח.

משך הזמן בשניות, עם עד תשע ספרות עשרוניות, שמסתיימים ב-'s'. דוגמה: "3.5s".

sha256Checksum

string (bytes format)

הרשימה הממויינת של כל הגיבובים, שעברה גיבוב נוסף באמצעות SHA256. זהו סיכום הביקורות של הרשימה הממויינת של כל הגיבובים שנמצאים במסד הנתונים אחרי החלת העדכון שסופק. אם לא יסופקו עדכונים, השדה הזה יושמט מהשרת כדי לציין שהלקוח צריך להשתמש ב-checksum הקיים.

מחרוזת בקידוד 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 ביט.

באופן כללי, אם נמיין את כל הרשומות לפי סדר אלפביתי, נראה שהביטים ברמה הגבוהה יותר נוטים לא להשתנות בתדירות גבוהה כמו הביטים ברמה הנמוכה יותר. המשמעות היא שאם ניקח גם את ההפרש בין הרשומות הסמוכות, יש סיכוי גבוה שהביטים ברמה הגבוהה יותר יהיו אפס. כדי לנצל את ההסתברות הגבוהה לקבלת אפס, בוחרים מספר מסוים של ביטים. כל הביטים המשמעותיים יותר מזה צפויים להיות אפס, ולכן אנחנו משתמשים בקידוד יוניארי. מידע נוסף מפורט בשדה riceParameter.

הערה היסטורית: קידוד Rice-delta שימש לראשונה בגרסה 4 של ה-API הזה. בגרסה 5 בוצעו שני שיפורים משמעותיים: ראשית, קידוד Rice-delta זמין עכשיו עם תחיליות גיבוב ארוכות מ-4 בייטים. שנית, הנתונים המקודדים מטופלים עכשיו כ-big-endian כדי למנוע שלב מיון יקר.

ייצוג ב-JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
שדות
firstValue

integer (uint32 format)

הרשומה הראשונה בנתונים המקודדים (גיבוב או אינדקסים), או אם רק תחילית גיבוב או אינדקס אחד קודדו, הערך של הרשומה הזו. אם השדה ריק, הערך ברשומה הוא אפס.

riceParameter

integer

הפרמטר Golomb-Rice. הפרמטר הזה חייב להיות בין 3 ל-30, כולל.

entriesCount

integer

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד הועתק, הערך הזה יהיה אפס והערך היחיד יישמר ב-firstValue.

encodedData

string (bytes format)

ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice.

מחרוזת בקידוד Base64.

RiceDeltaEncoded64Bit

זהה ל-RiceDeltaEncoded32Bit, אלא שהיא מקודדת מספרים של 64 ביט.

ייצוג ב-JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
שדות
firstValue

string

הרשומה הראשונה בנתונים המקודדים (גיבוב), או אם רק תחילית גיבוב אחת קוודדה, הערך של הרשומה הזו. אם השדה ריק, הערך ברשומה הוא אפס.

riceParameter

integer

הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 35 ל-62, כולל.

entriesCount

integer

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-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 הביטים העליונים הם אפס.

firstValueLo

string (uint64 format)

64 הביטים התחתונים של הרשומה הראשונה בנתונים המקודדים (גיבוב). אם השדה ריק, כל 64 הביטים התחתונים הם אפס.

riceParameter

integer

הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 99 ל-126, כולל.

entriesCount

integer

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-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 הביטים הראשונים יהיו אפס.

firstValueSecondPart

string (uint64 format)

הביטים 65 עד 128 של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל הביטים מ-65 עד 128 הם אפס.

firstValueThirdPart

string (uint64 format)

הביטים ה-129 עד ה-192 של הרשומה הראשונה בנתונים המקודדים (גיבוב). אם השדה ריק, כל הביטים מ-129 עד 192 הם אפס.

firstValueFourthPart

string (uint64 format)

64 הביטים האחרונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל 64 הביטים האחרונים הם אפס.

riceParameter

integer

הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 227 ל-254, כולל.

entriesCount

integer

מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב-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)

אורך הגיבוב הנתמך ברשימת הגיבוב הזו. כל רשימת גיבוב תתמוך באורך אחד לפחות. לכן השדה הזה לא יהיה ריק.

hashLength

enum (HashLength)

אורך הגיבוב הנתמך ברשימת הגיבוב הזו. כל רשימת גיבוב תתמוך באורך אחד בלבד. אם יתווסף אורך גיבוב שונה לאותה קבוצה של סוגי איומים או סוגי קבצים בטוחים, הוא יוצג כרשימה נפרדת עם שם ייחודי וקבוצת אורך גיבוב תואמת.

ThreatType

סוגי האיומים.

טיפוסים בני מנייה (enum)
THREAT_TYPE_UNSPECIFIED סוג האיום לא ידוע. אם השרת מחזיר את הערך הזה, הלקוח צריך להתעלם מ-FullHashDetail המקיף לגמרי.
MALWARE

סוג האיום של התוכנה הזדונית. תוכנה זדונית היא כל תוכנה או אפליקציה לנייד שתוכננה במיוחד כדי לגרום נזק למחשב או למכשיר נייד, לתוכנה שפועלת בהם או למי שמשתמשים בהם. ההתנהגות של תוכנות זדוניות יכולה לכלול התקנה של תוכנה ללא הסכמת המשתמש והתקנה של תוכנות מזיקות, כמו וירוסים.

מידע נוסף זמין כאן.

SOCIAL_ENGINEERING

סוג האיום של הנדסה חברתית. דפי הנדסה חברתית מתחזים באופן שקרי לפעול מטעם צד שלישי, במטרה לבלבל את הצופים ולגרום להם לבצע פעולה שהם היו מבצעים רק אם היו סומכים על סוכן אמיתי של אותו צד שלישי. פישינג הוא סוג של הנדסה חברתית שמטרתו להטעות את הצופה כדי שיבצע פעולה ספציפית של מתן מידע, כמו פרטי כניסה.

מידע נוסף זמין כאן.

UNWANTED_SOFTWARE סוג האיום של תוכנה לא רצויה. תוכנה לא רצויה היא כל תוכנה שלא עומדת בעקרונות התוכנה של Google, אבל היא לא תוכנה זדונית.
POTENTIALLY_HARMFUL_APPLICATION סוג האיום של אפליקציה שעלולה להזיק כפי שמשתמש Google Play Protect בחנות Play.

LikelySafeType

סוגי אתרים שסביר להניח שהם בטוחים.

שימו לב שהשדה SearchHashesResponse לא מכיל את השדה LikelySafeType באופן מכוון.

טיפוסים בני מנייה (enum)
LIKELY_SAFE_TYPE_UNSPECIFIED לא ידוע.
GENERAL_BROWSING סביר להניח שהאתר הזה בטוח מספיק לגלישה כללית. הוא נקרא גם 'מטמון גלובלי'.
CSD סביר להניח שהאתר הזה בטוח מספיק, ולכן אין צורך להריץ מודלים של זיהוי בצד הלקוח או בדיקות של הגנה באמצעות סיסמה.
DOWNLOAD סביר להניח שהאתר הזה בטוח מספיק ולא צריך לבדוק הורדות מהאתר.

HashLength

האורך של הגיבובים (hashes) ברשימת גיבוב.

טיפוסים בני מנייה (enum)
HASH_LENGTH_UNSPECIFIED אורך לא צוין. השרת לא יחזיר את הערך הזה בתשובות ללקוח (בשדה supportedHashLengths), אבל הלקוח רשאי לשלוח את הערך הזה לשרת (בשדה desiredHashLength). במקרה כזה, השרת יבחר ערך באופן אוטומטי. לקוחות צריכים לאפשר לשרת לבחור ערך.
FOUR_BYTES כל גיבוב הוא תחילית של ארבעה בייטים.
EIGHT_BYTES כל גיבוב הוא תחילית של שמונה בייטים.
SIXTEEN_BYTES כל גיבוב הוא תחילית של 16 בייטים.
THIRTY_TWO_BYTES כל גיבוב הוא גיבוב מלא באורך 32 בייטים.

Methods

get

אחזור התוכן העדכני ביותר של רשימת גיבוב.