- משאב: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- שיטות
משאב: HashList
רשימה של גיבוב (hash) שמזוהה לפי השם שלו.
ייצוג ב-JSON |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
שדות | |
---|---|
name |
השם של רשימת הגיבוב. חשוב לזכור שגם המטמון הגלובלי הוא רק רשימת גיבוב, ואפשר להפנות אליו כאן. |
version |
הגרסה של רשימת הגיבוב. אסור ללקוח לבצע מניפולציה על הבייטים האלה. מחרוזת בקידוד Base64. |
partialUpdate |
אם הערך הוא true, מדובר ב-diff חלקי שמכיל הוספות והסרות על סמך מה שכבר קיים אצל הלקוח. כשהערך הוא false, זוהי רשימת הגיבוב המלאה. אם הערך הוא false, הלקוח חייב למחוק כל גרסה שמאוחסנת באופן מקומי של רשימת הגיבוב הזו. המשמעות היא שהגרסה שבידי הלקוח לא עדכנית מספיק או שנתוני הלקוח פגומים. השדה כשהערך הוא true, הלקוח חייב להחיל עדכון מצטבר על ידי החלת הסרות ואז הוספות. |
compressedRemovals |
הגרסה המקודדת של Rice-delta של אינדקסי ההסרות. מכיוון שכל רשימת גיבוב מכילה פחות מ-2^32 רשומות, האינדקסים נחשבים למספרים שלמים של 32 ביט ומקודדים. |
minimumWaitDuration |
לקוחות צריכים להמתין לפחות זמן זה כדי לקבל שוב את רשימת הגיבוב. אם השדה הזה לא מצוין או שהוא אפס, הלקוחות אמורים לאחזר אותו באופן מיידי כי הוא מציין שיש לשרת עדכון נוסף שצריך לשלוח ללקוח, אבל לא ניתן היה לעשות זאת בגלל האילוצים שצוינו על ידי הלקוח. משך הזמן בשניות, עם עד תשע ספרות עשרוניות, שמסתיימים ב-' |
sha256Checksum |
הרשימה הממויינת של כל הגיבובים, שעברה גיבוב נוסף באמצעות SHA256. זהו סיכום הביקורות של הרשימה הממויינת של כל הגיבובים שנמצאים במסד הנתונים אחרי החלת העדכון שסופק. אם לא יסופקו עדכונים, השדה הזה יושמט מהשרת כדי לציין שהלקוח צריך להשתמש ב-checksum הקיים. מחרוזת בקידוד Base64. |
metadata |
מטא-נתונים על רשימת הגיבוב. השדה הזה לא מאוכלס על ידי השיטה |
שדה האיחוד compressed_additions . הגרסה של התוספות בקידוד Rice-delta. אורך הקידומת של הגיבוב של התוספות זהה בכל התוספות ברשימה. זהו הערך של desired_hash_length שנשלח על ידי הלקוח, או ערך שנבחר על ידי השרת אם הלקוח השמיט את השדה הזה. הערך של compressed_additions יכול להיות רק אחת מהאפשרויות הבאות: |
|
additionsFourBytes |
התוספות של 4 בייטים. |
additionsEightBytes |
התוספות באורך 8 בייטים. |
additionsSixteenBytes |
התוספות של 16 בייטים. |
additionsThirtyTwoBytes |
התוספות של 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 |
הרשומה הראשונה בנתונים המקודדים (גיבוב או אינדקסים), או אם רק תחילית גיבוב או אינדקס אחד קודדו, הערך של הרשומה הזו. אם השדה ריק, הערך ברשומה הוא אפס. |
riceParameter |
הפרמטר Golomb-Rice. הפרמטר הזה חייב להיות בין 3 ל-30, כולל. |
entriesCount |
מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד הועתק, הערך הזה יהיה אפס והערך היחיד יישמר ב- |
encodedData |
ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice. מחרוזת בקידוד Base64. |
RiceDeltaEncoded64Bit
זהה ל-RiceDeltaEncoded32Bit
, אלא שהיא מקודדת מספרים של 64 ביט.
ייצוג ב-JSON |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
שדות | |
---|---|
firstValue |
הרשומה הראשונה בנתונים המקודדים (גיבוב), או אם רק תחילית גיבוב אחת קוודדה, הערך של הרשומה הזו. אם השדה ריק, הערך ברשומה הוא אפס. |
riceParameter |
הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 35 ל-62, כולל. |
entriesCount |
מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב- |
encodedData |
ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice. מחרוזת בקידוד Base64. |
RiceDeltaEncoded128Bit
זהה ל-RiceDeltaEncoded32Bit
, אלא שהיא מקודדת מספרים של 128 ביט.
ייצוג ב-JSON |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
שדות | |
---|---|
firstValueHi |
64 הביטים העליונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל 64 הביטים העליונים הם אפס. |
firstValueLo |
64 הביטים התחתונים של הרשומה הראשונה בנתונים המקודדים (גיבוב). אם השדה ריק, כל 64 הביטים התחתונים הם אפס. |
riceParameter |
הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 99 ל-126, כולל. |
entriesCount |
מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב- |
encodedData |
ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice. מחרוזת בקידוד Base64. |
RiceDeltaEncoded256Bit
זהה ל-RiceDeltaEncoded32Bit
, אלא שהיא מקודדת מספרים באורך 256 ביט.
ייצוג ב-JSON |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
שדות | |
---|---|
firstValueFirstPart |
64 הביטים הראשונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, 64 הביטים הראשונים יהיו אפס. |
firstValueSecondPart |
הביטים 65 עד 128 של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל הביטים מ-65 עד 128 הם אפס. |
firstValueThirdPart |
הביטים ה-129 עד ה-192 של הרשומה הראשונה בנתונים המקודדים (גיבוב). אם השדה ריק, כל הביטים מ-129 עד 192 הם אפס. |
firstValueFourthPart |
64 הביטים האחרונים של הרשומה הראשונה בנתונים הקודדים (גיבוב). אם השדה ריק, כל 64 הביטים האחרונים הם אפס. |
riceParameter |
הפרמטר Golomb-Rice. הפרמטר הזה יהיה בין 227 ל-254, כולל. |
entriesCount |
מספר הרשומות שמקודדות ב-delta בנתונים המקודדים. אם רק מספר שלם אחד קודד, הערך הזה יהיה אפס והערך היחיד יישמר ב- |
encodedData |
ההפרשים המקודדים שמקודדים באמצעות מקודד Golomb-Rice. מחרוזת בקידוד Base64. |
HashListMetadata
מטא-נתונים על רשימת גיבוב ספציפית.
ייצוג ב-JSON |
---|
{ "threatTypes": [ enum ( |
שדות | |
---|---|
threatTypes[] |
רשימה לא ממוינת. אם הערך לא ריק, המשמעות היא שרשימת הגיבוב היא סוג של רשימת איומים, והיא מפרטת את סוגי האיומים המשויכים לגיבובים או לתחיליות של הגיבובים ברשימת הגיבוב הזו. יכול להיות ריק אם הרשומה לא מייצגת איום, כלומר במקרה שהיא מייצגת סוג סביר של פעילות בטוחה. |
likelySafeTypes[] |
רשימה לא ממוינת. אם הערך לא ריק, המשמעות היא שרשימה של גיבובים מייצגת רשימה של גיבובים שסביר להניח שהם בטוחים, וזוהי רשימה של הדרכים שבהן הם נחשבים בטוחים. השדה הזה בלעדי לשדה threatTypes. |
description |
תיאור של הרשימה שאנשים יכולים לקרוא. כתוב באנגלית. |
supportedHashLengths[] |
אורך הגיבוב הנתמך ברשימת הגיבוב הזו. כל רשימת גיבוב תתמוך באורך אחד לפחות. לכן השדה הזה לא יהיה ריק. |
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 |
|
---|---|
|
אחזור התוכן העדכני ביותר של רשימת גיבוב. |