REST Resource: hashList

منبع: HashList

فهرستی از هش‌هایی که با نامشان مشخص شده‌اند.

نمایش 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

نام لیست هش. توجه داشته باشید که Global Cache نیز فقط یک لیست هش است و می‌توان به آن در اینجا اشاره کرد.

version

string ( bytes format)

نسخه لیست هش. کلاینت نباید آن بایت‌ها را دستکاری کند.

یک رشته کدگذاری شده با base64.

partialUpdate

boolean

وقتی درست باشد، این یک تفاضل جزئی است که شامل اضافه کردن‌ها و حذف‌ها بر اساس آنچه کلاینت از قبل دارد، می‌شود. وقتی نادرست باشد، این لیست هش کامل است.

وقتی مقدار آن نادرست باشد، کلاینت باید هر نسخه ذخیره شده محلی را برای این لیست هش حذف کند. این بدان معناست که یا نسخه‌ای که کلاینت در اختیار دارد به طور جدی قدیمی است یا داده‌های کلاینت خراب تلقی می‌شوند. فیلد compressedRemovals خالی خواهد بود.

وقتی مقدار آن درست باشد، کلاینت باید با اعمال حذف‌ها و سپس اضافه‌ها، یک به‌روزرسانی افزایشی اعمال کند.

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 از جمع‌ها. طول پیشوند هش جمع‌ها در تمام جمع‌های موجود در لیست یکسان است. compressed_additions فقط می‌تواند یکی از موارد زیر باشد:
additionsFourBytes

object ( RiceDeltaEncoded32Bit )

جمع‌های ۴ بایتی.

additionsEightBytes

object ( RiceDeltaEncoded64Bit )

اضافات ۸ بایتی.

additionsSixteenBytes

object ( RiceDeltaEncoded128Bit )

اضافات ۱۶ بایتی.

additionsThirtyTwoBytes

object ( RiceDeltaEncoded256Bit )

اضافات ۳۲ بایتی.

RiceDeltaEncoded32Bit

داده‌های کدگذاری شده‌ی Rice-Golomb. برای هش‌ها یا شاخص‌های حذف استفاده می‌شود. تضمین می‌شود که هر هش یا شاخص در اینجا طول یکسانی دارد و این طول دقیقاً ۳۲ بیت است.

به طور کلی، اگر همه ورودی‌ها را به صورت لغوی مرتب کنیم، متوجه خواهیم شد که بیت‌های مرتبه بالاتر به اندازه بیت‌های مرتبه پایین‌تر تغییر نمی‌کنند. این بدان معناست که اگر اختلاف مجاورت بین ورودی‌ها را نیز در نظر بگیریم، بیت‌های مرتبه بالاتر احتمال بالایی برای صفر شدن دارند. این روش با انتخاب تعداد مشخصی از بیت‌ها، از این احتمال بالای صفر شدن بهره‌برداری می‌کند. همه بیت‌های مهم‌تر از این احتمالاً صفر هستند، بنابراین از کدگذاری یکانی استفاده می‌کنیم. به فیلد riceParameter مراجعه کنید.

نکته تاریخی: کدگذاری Rice-delta اولین بار در نسخه ۴ این API استفاده شد. در نسخه ۵، دو بهبود قابل توجه ایجاد شد: اولاً، کدگذاری Rice-delta اکنون با پیشوندهای هش طولانی‌تر از ۴ بایت در دسترس است؛ ثانیاً، داده‌های کدگذاری شده اکنون به عنوان big-endian در نظر گرفته می‌شوند تا از یک مرحله مرتب‌سازی پرهزینه جلوگیری شود.

نمایش JSON
{
  "firstValue": integer,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
فیلدها
firstValue

integer ( uint32 format)

اولین ورودی در داده‌های رمزگذاری شده (هش‌ها یا شاخص‌ها)، یا اگر فقط یک پیشوند هش یا شاخص رمزگذاری شده باشد، مقدار آن ورودی. اگر فیلد خالی باشد، ورودی صفر است.

riceParameter

integer

پارامتر Golomb-Rice. این پارامتر تضمین می‌شود که بین ۳ تا ۳۰ باشد.

entriesCount

integer

تعداد ورودی‌هایی که در داده‌های کدگذاری شده به صورت دلتا کدگذاری شده‌اند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در firstValue ذخیره می‌شود.

encodedData

string ( bytes format)

دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شده‌اند.

یک رشته کدگذاری شده با base64.

RiceDeltaEncoded64Bit

همانند RiceDeltaEncoded32Bit است، با این تفاوت که این عددها را ۶۴ بیتی رمزگذاری می‌کند.

نمایش JSON
{
  "firstValue": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
فیلدها
firstValue

string

اولین ورودی در داده‌های رمزگذاری شده (هش‌ها)، یا اگر فقط یک پیشوند هش رمزگذاری شده باشد، مقدار آن ورودی. اگر فیلد خالی باشد، ورودی صفر است.

riceParameter

integer

پارامتر گولومب-رایس. این پارامتر تضمین می‌شود که بین ۳۵ تا ۶۲ باشد.

entriesCount

integer

تعداد ورودی‌هایی که در داده‌های کدگذاری شده به صورت دلتا کدگذاری شده‌اند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در firstValue ذخیره می‌شود.

encodedData

string ( bytes format)

دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شده‌اند.

یک رشته کدگذاری شده با base64.

RiceDeltaEncoded128Bit

همانند RiceDeltaEncoded32Bit است، با این تفاوت که این عددها را ۱۲۸ بیتی رمزگذاری می‌کند.

نمایش JSON
{
  "firstValueHi": string,
  "firstValueLo": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
فیلدها
firstValueHi

string

۶۴ بیت بالایی اولین ورودی در داده‌های رمزگذاری شده (هش‌ها). اگر فیلد خالی باشد، ۶۴ بیت بالایی همگی صفر هستند.

firstValueLo

string ( uint64 format)

۶۴ بیت پایینی اولین ورودی در داده‌های رمزگذاری شده (هش‌ها). اگر فیلد خالی باشد، ۶۴ بیت پایینی همگی صفر هستند.

riceParameter

integer

پارامتر Golomb-Rice. این پارامتر تضمین می‌شود که بین ۹۹ تا ۱۲۶ باشد.

entriesCount

integer

تعداد ورودی‌هایی که در داده‌های کدگذاری شده به صورت دلتا کدگذاری شده‌اند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در firstValue ذخیره می‌شود.

encodedData

string ( bytes format)

دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شده‌اند.

یک رشته کدگذاری شده با base64.

RiceDeltaEncoded256Bit

همانند RiceDeltaEncoded32Bit است، با این تفاوت که این عددها را ۲۵۶ بیتی رمزگذاری می‌کند.

نمایش JSON
{
  "firstValueFirstPart": string,
  "firstValueSecondPart": string,
  "firstValueThirdPart": string,
  "firstValueFourthPart": string,
  "riceParameter": integer,
  "entriesCount": integer,
  "encodedData": string
}
فیلدها
firstValueFirstPart

string

۶۴ بیت اول از اولین ورودی در داده‌های رمزگذاری شده (هش‌ها). اگر فیلد خالی باشد، ۶۴ بیت اول همگی صفر هستند.

firstValueSecondPart

string ( uint64 format)

بیت‌های ۶۵ تا ۱۲۸ام اولین ورودی در داده‌های رمزگذاری شده (هش‌ها). اگر فیلد خالی باشد، بیت‌های ۶۵ تا ۱۲۸ام همگی صفر هستند.

firstValueThirdPart

string ( uint64 format)

بیت‌های ۱۲۹ تا ۱۹۲ام از اولین ورودی در داده‌های رمزگذاری شده (هش‌ها). اگر فیلد خالی باشد، بیت‌های ۱۲۹ تا ۱۹۲ام همگی صفر هستند.

firstValueFourthPart

string ( uint64 format)

۶۴ بیت آخر اولین ورودی در داده‌های رمزگذاری شده (هش‌ها). اگر فیلد خالی باشد، ۶۴ بیت آخر همگی صفر هستند.

riceParameter

integer

پارامتر Golomb-Rice. این پارامتر تضمین می‌شود که بین ۲۲۷ تا ۲۵۴ باشد.

entriesCount

integer

تعداد ورودی‌هایی که در داده‌های کدگذاری شده به صورت دلتا کدگذاری شده‌اند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در firstValue ذخیره می‌شود.

encodedData

string ( bytes format)

دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شده‌اند.

یک رشته کدگذاری شده با base64.

هش‌لیستفراداده

فراداده درباره یک فهرست درهم‌سازی خاص.

نمایش JSON
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "hashLength": enum (HashLength)
}
فیلدها
threatTypes[]

enum ( ThreatType )

لیست نامرتب. اگر خالی نباشد، مشخص می‌کند که لیست هش نوعی لیست تهدید است و نوع تهدیدهای مرتبط با هش‌ها یا پیشوندهای هش در این لیست هش را فهرست می‌کند. اگر ورودی نشان‌دهنده تهدید نباشد، یعنی در صورتی که نشان‌دهنده یک نوع احتمالاً امن باشد، ممکن است خالی باشد.

likelySafeTypes[]

enum ( LikelySafeType )

لیست نامرتب. اگر خالی نباشد، این مشخص می‌کند که لیست هش، لیستی از هش‌های احتمالاً امن را نشان می‌دهد و این موارد، روش‌هایی را که احتمالاً امن در نظر گرفته می‌شوند، فهرست می‌کند. این فیلد با فیلد threatTypes ناسازگار است.

description

string

توضیحی قابل خواندن برای انسان در مورد این لیست. به زبان انگلیسی نوشته شده است.

hashLength

enum ( HashLength )

طول هش پشتیبانی‌شده برای این لیست هش. هر لیست هش دقیقاً از یک طول پشتیبانی می‌کند. اگر طول هش متفاوتی برای همان مجموعه از انواع تهدید یا انواع ایمن معرفی شود، به عنوان یک لیست جداگانه با نام متمایز و مجموعه طول هش مربوطه معرفی خواهد شد.

نوع تهدید

انواع تهدید.

انوم‌ها
THREAT_TYPE_UNSPECIFIED نوع تهدید ناشناخته. اگر این مورد توسط سرور برگردانده شود، کلاینت باید FullHashDetail را که در بر دارد، به طور کلی نادیده بگیرد.
MALWARE

نوع تهدید بدافزار. بدافزار هر نرم‌افزار یا برنامه تلفن همراهی است که به طور خاص برای آسیب رساندن به رایانه، دستگاه تلفن همراه، نرم‌افزاری که در حال اجرا است یا کاربران آن طراحی شده است. بدافزار رفتار مخربی از خود نشان می‌دهد که می‌تواند شامل نصب نرم‌افزار بدون رضایت کاربر و نصب نرم‌افزارهای مضر مانند ویروس‌ها باشد.

اطلاعات بیشتر را می‌توانید اینجا پیدا کنید.

SOCIAL_ENGINEERING

نوع تهدید مهندسی اجتماعی. صفحات مهندسی اجتماعی به دروغ ادعا می‌کنند که از طرف شخص ثالث عمل می‌کنند، با این هدف که بینندگان را گیج کنند تا عملی را انجام دهند که بیننده فقط به یک عامل واقعی آن شخص ثالث اعتماد می‌کند. فیشینگ نوعی مهندسی اجتماعی است که بیننده را فریب می‌دهد تا عمل خاصی مانند ارائه اطلاعات، مانند اعتبارنامه‌های ورود به سیستم را انجام دهد.

اطلاعات بیشتر را می‌توانید اینجا پیدا کنید.

UNWANTED_SOFTWARE نوع تهدید نرم‌افزاری ناخواسته. نرم‌افزار ناخواسته هر نرم‌افزاری است که به اصول نرم‌افزاری گوگل پایبند نیست اما بدافزار نیست.
POTENTIALLY_HARMFUL_APPLICATION نوع تهدید برنامه بالقوه مضر که توسط Google Play Protect برای فروشگاه Play استفاده می‌شود .

نوع ایمن احتمالی

انواع سایت‌های احتمالاً امن.

توجه داشته باشید که SearchHashesResponse عمداً شامل LikelySafeType نمی‌شود.

انوم‌ها
LIKELY_SAFE_TYPE_UNSPECIFIED ناشناخته.
GENERAL_BROWSING این سایت احتمالاً برای مرور عمومی به اندازه کافی امن است. این به عنوان حافظه پنهان سراسری نیز شناخته می‌شود.
CSD این سایت احتمالاً به اندازه کافی ایمن است که نیازی به اجرای مدل‌های تشخیص سمت کلاینت یا بررسی‌های محافظت از رمز عبور ندارد.
DOWNLOAD این سایت احتمالاً به اندازه کافی امن است که دانلودهای آن نیازی به بررسی نداشته باشند.

طول هش

طول هش‌ها در یک لیست هش.

انوم‌ها
HASH_LENGTH_UNSPECIFIED طول نامشخص.
FOUR_BYTES هر هش یک پیشوند چهار بایتی است.
EIGHT_BYTES هر هش یک پیشوند هشت بایتی است.
SIXTEEN_BYTES هر هش یک پیشوند شانزده بایتی است.
THIRTY_TWO_BYTES هر هش، یک هش کامل سی و دو بایتی است.

روش‌ها

get

آخرین محتویات یک لیست هش را دریافت می‌کند.