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

השם של רשימת הגיבוב. לתשומת לבך, המטמון הגלובלי הוא גם רשימת גיבוב בלבד, וניתן לעיין בו כאן.

version

string (bytes format)

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

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

partialUpdate

boolean

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

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

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

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

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

משך זמן בשניות עם עד תשע ספרות עשרוניות, המסתיים ב-'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. זהו סיכום הביקורת של הרשימה הממוינת של כל הגיבובים שנמצאים במסד הנתונים אחרי החלת העדכון שסופק. זהו שדה 'oneof' שמאפשר להשתמש בכמה אלגוריתמים של גיבוב. כמו כן, השרת יכול להשמיט את השדה הזה (אם לא סופקו עדכונים) כדי לציין שהלקוח צריך להשתמש בסיכום הביקורת הקיים. checksum יכול להיות רק אחד מהבאים:
sha256Checksum

string (bytes format)

רשימה ממוינת של כל הגיבובים, לאחר גיבוב שוב באמצעות האלגוריתם SHA256.

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

RiceDeltaEncoded32Bit

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

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

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

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

הדלתא המקודדת המקודדת באמצעות המקודד גולומב-אורז.

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

הדלתא המקודדת המקודדת באמצעות המקודד גולומב-אורז.

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

הדלתא המקודדת המקודדת באמצעות המקודד גולומב-אורז.

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

הדלתא המקודדת המקודדת באמצעות המקודד גולומב-אורז.

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

HashListMetadata

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

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

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

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

mobileOptimized

boolean

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

description

string

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

supportedHashLengths[]

enum (HashLength)

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

ThreatType

סוגי איומים.

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

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

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

SOCIAL_ENGINEERING

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

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

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

LikelySafeType

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

שימו לב שה-SearchHashesResponse לא מכיל LikelySafeType בכוונה.

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

HashLength

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

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

שיטות

get

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