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

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

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

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

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 فیلد اتحادیه این چک جمع لیست مرتب شده همه هش های موجود در پایگاه داده پس از اعمال به روز رسانی ارائه شده است. این یک فیلد "یکی" است که به چندین الگوریتم هش اجازه می دهد. همچنین ممکن است سرور این فیلد را حذف کند (در صورتی که به روز رسانی ارائه نشده باشد) تا نشان دهد که کلاینت باید از checksum موجود استفاده کند. checksum می‌تواند تنها یکی از موارد زیر باشد:
sha256Checksum

string ( bytes format)

لیست مرتب شده همه هش ها، دوباره با SHA256 هش شده است.

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

RiceDeltaEncoded32Bit

داده های رایس-گلومب رمزگذاری شده است. برای هش یا حذف شاخص ها استفاده می شود. تضمین شده است که هر هش یا ایندکس در اینجا دارای طول یکسانی است و این طول دقیقاً 32 بیت است.

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

یادداشت تاریخی: رمزگذاری Rice-delta برای اولین بار در V4 این API استفاده شد. در V5، دو پیشرفت قابل توجه ایجاد شد: اول، رمزگذاری Rice-delta اکنون با پیشوندهای هش بیش از 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)

دلتاهای کدگذاری شده که با استفاده از رمزگذار 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

فراداده در مورد یک لیست هش خاص.

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

enum ( ThreatType )

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

likelySafeTypes[]

enum ( LikelySafeType )

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

mobileOptimized

boolean

آیا این لیست برای دستگاه های تلفن همراه (اندروید و iOS) بهینه شده است یا خیر.

description

string

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

supportedHashLengths[]

enum ( HashLength )

طول هش پشتیبانی شده برای این لیست هش. هر لیست هش حداقل یک طول را پشتیبانی می کند. بنابراین این فیلد خالی نخواهد بود.

ThreatType

انواع تهدید.

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

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

اطلاعات بیشتر را می توان در اینجا یافت.

SOCIAL_ENGINEERING

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

اطلاعات بیشتر را می توان در اینجا یافت.

UNWANTED_SOFTWARE نوع تهدید نرم افزار ناخواسته نرم افزار ناخواسته هر نرم افزاری است که به اصول نرم افزار گوگل پایبند نیست اما بدافزار نیست.
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 هر هش یک پیشوند هشت بایتی است.
SIXTEEN_BYTES هر هش یک پیشوند شانزده بایتی است.
THIRTY_TWO_BYTES هر هش یک هش کامل سی و دو بایتی است.

روش ها

get

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