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

השם של רשימת הגיבוב. לתשומת ליבכם: המטמון הגלובלי הוא גם רשימת גיבוב (hash), ואפשר לעיין בה כאן.

version

string (bytes format)

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

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

partialUpdate

boolean

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

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

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

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

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

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

metadata

object (HashListMetadata)

מטא-נתונים לגבי רשימת הגיבוב (hash). הערך הזה לא מאוכלס על ידי השיטה 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 בייטים.

שדה איחוד checksum. זהו סיכום הביקורת של הרשימה הממוינת של כל הגיבובים שקיימים במסד הנתונים אחרי החלת העדכון שסופק. זהו "אחד מ" כדי לאפשר מספר אלגוריתמים של גיבוב (hashing). בנוסף, השרת יכול להשמיט את השדה הזה (אם לא סופקו עדכונים) כדי לציין שהלקוח צריך להשתמש בסיכום הביקורת הקיים. checksum יכול להיות רק אחת מהאפשרויות הבאות:
sha256Checksum

string (bytes format)

הרשימה הממוינת של כל הגיבובים (hashed) שוב באמצעות SHA256.

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

RiceDeltaEncoded32Bit

הנתונים בקידוד Rice-Golomb. משמש לגיבובים או להסרה של אינדקסים. אנחנו מבטיחים שלכל גיבוב או אינדקס כאן יהיו אותו אורך, והאורך הזה יהיה 32 סיביות בדיוק.

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

הערה היסטורית: קידוד Rice-delta שימש לראשונה בגרסה 4 של ה-API הזה. ב-V5 בוצעו שני שיפורים משמעותיים: ראשית, קידוד Rice-delta זמין עכשיו עם קידומות גיבוב (hash) שאורכן עולה על 4 בייטים; שנית, הנתונים המקודדים נחשבים כיום לנתונים גדולים-אנדיאניים (Big Endian), כדי להימנע משלב מיון יקר.

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

integer (uint32 format)

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

riceParameter

integer

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

entriesCount

integer

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

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

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

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

encodedData

string (bytes format)

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

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

HashListMetadata

מטא-נתונים לגבי רשימת גיבוב (hash) מסוימת.

ייצוג JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "mobileOptimized": boolean,
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ]
}
שדות
threatTypes[]

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

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

mobileOptimized

boolean

האם הרשימה הזו עברה אופטימיזציה למכשירים ניידים (Android ו-iOS).

description

string

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

supportedHashLengths[]

enum (HashLength)

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

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

אורך הגיבובים ברשימת גיבובים.

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

שיטות

get

קבלת התוכן העדכני ביותר של רשימת גיבוב (hash).