- منبع: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- هشلیستفراداده
- نوع تهدید
- نوع ایمن احتمالی
- طول هش
- روشها
منبع: HashList
فهرستی از هشهایی که با نامشان مشخص شدهاند.
| نمایش JSON |
|---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
| فیلدها | |
|---|---|
name | نام لیست هش. توجه داشته باشید که Global Cache نیز فقط یک لیست هش است و میتوان به آن در اینجا اشاره کرد. |
version | نسخه لیست هش. کلاینت نباید آن بایتها را دستکاری کند. یک رشته کدگذاری شده با base64. |
partialUpdate | وقتی درست باشد، این یک تفاضل جزئی است که شامل اضافه کردنها و حذفها بر اساس آنچه کلاینت از قبل دارد، میشود. وقتی نادرست باشد، این لیست هش کامل است. وقتی مقدار آن نادرست باشد، کلاینت باید هر نسخه ذخیره شده محلی را برای این لیست هش حذف کند. این بدان معناست که یا نسخهای که کلاینت در اختیار دارد به طور جدی قدیمی است یا دادههای کلاینت خراب تلقی میشوند. فیلد وقتی مقدار آن درست باشد، کلاینت باید با اعمال حذفها و سپس اضافهها، یک بهروزرسانی افزایشی اعمال کند. |
compressedRemovals | نسخه کدگذاری شده Rice-delta از شاخصهای حذف. از آنجایی که هر لیست هش قطعاً کمتر از 2^32 ورودی دارد، شاخصها به عنوان اعداد صحیح 32 بیتی در نظر گرفته شده و کدگذاری میشوند. |
minimumWaitDuration | کلاینتها باید حداقل این مدت را برای دریافت مجدد لیست هش منتظر بمانند. اگر حذف شود یا صفر باشد، کلاینتها باید فوراً آن را دریافت کنند زیرا نشان میدهد که سرور یک بهروزرسانی اضافی برای کلاینت دارد که باید ارسال شود، اما به دلیل محدودیتهای مشخصشده توسط کلاینت، این امکان وجود ندارد. مدت زمانی بر حسب ثانیه با حداکثر نه رقم کسری که به ' |
sha256Checksum | لیست مرتبشدهی تمام هشها، که دوباره با SHA256 هش شده است. این مجموع مقابلهای (checksum) برای لیست مرتبشدهی تمام هشهای موجود در پایگاه داده پس از اعمال بهروزرسانی ارائه شده است. در صورتی که هیچ بهروزرسانی ارائه نشده باشد، سرور این فیلد را حذف میکند تا نشان دهد که کلاینت باید از مجموع مقابلهای موجود استفاده کند. یک رشته کدگذاری شده با base64. |
metadata | متادیتای مربوط به لیست هش. این توسط متد |
فیلد اتحادیه compressed_additions . نسخه کدگذاری شده Rice-delta از جمعها. طول پیشوند هش جمعها در تمام جمعهای موجود در لیست یکسان است. compressed_additions فقط میتواند یکی از موارد زیر باشد: | |
additionsFourBytes | جمعهای ۴ بایتی. |
additionsEightBytes | اضافات ۸ بایتی. |
additionsSixteenBytes | اضافات ۱۶ بایتی. |
additionsThirtyTwoBytes | اضافات ۳۲ بایتی. |
RiceDeltaEncoded32Bit
دادههای کدگذاری شدهی Rice-Golomb. برای هشها یا شاخصهای حذف استفاده میشود. تضمین میشود که هر هش یا شاخص در اینجا طول یکسانی دارد و این طول دقیقاً ۳۲ بیت است.
به طور کلی، اگر همه ورودیها را به صورت لغوی مرتب کنیم، متوجه خواهیم شد که بیتهای مرتبه بالاتر به اندازه بیتهای مرتبه پایینتر تغییر نمیکنند. این بدان معناست که اگر اختلاف مجاورت بین ورودیها را نیز در نظر بگیریم، بیتهای مرتبه بالاتر احتمال بالایی برای صفر شدن دارند. این روش با انتخاب تعداد مشخصی از بیتها، از این احتمال بالای صفر شدن بهرهبرداری میکند. همه بیتهای مهمتر از این احتمالاً صفر هستند، بنابراین از کدگذاری یکانی استفاده میکنیم. به فیلد riceParameter مراجعه کنید.
نکته تاریخی: کدگذاری Rice-delta اولین بار در نسخه ۴ این API استفاده شد. در نسخه ۵، دو بهبود قابل توجه ایجاد شد: اولاً، کدگذاری Rice-delta اکنون با پیشوندهای هش طولانیتر از ۴ بایت در دسترس است؛ ثانیاً، دادههای کدگذاری شده اکنون به عنوان big-endian در نظر گرفته میشوند تا از یک مرحله مرتبسازی پرهزینه جلوگیری شود.
| نمایش JSON |
|---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| فیلدها | |
|---|---|
firstValue | اولین ورودی در دادههای رمزگذاری شده (هشها یا شاخصها)، یا اگر فقط یک پیشوند هش یا شاخص رمزگذاری شده باشد، مقدار آن ورودی. اگر فیلد خالی باشد، ورودی صفر است. |
riceParameter | پارامتر Golomb-Rice. این پارامتر تضمین میشود که بین ۳ تا ۳۰ باشد. |
entriesCount | تعداد ورودیهایی که در دادههای کدگذاری شده به صورت دلتا کدگذاری شدهاند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در |
encodedData | دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شدهاند. یک رشته کدگذاری شده با base64. |
RiceDeltaEncoded64Bit
همانند RiceDeltaEncoded32Bit است، با این تفاوت که این عددها را ۶۴ بیتی رمزگذاری میکند.
| نمایش JSON |
|---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| فیلدها | |
|---|---|
firstValue | اولین ورودی در دادههای رمزگذاری شده (هشها)، یا اگر فقط یک پیشوند هش رمزگذاری شده باشد، مقدار آن ورودی. اگر فیلد خالی باشد، ورودی صفر است. |
riceParameter | پارامتر گولومب-رایس. این پارامتر تضمین میشود که بین ۳۵ تا ۶۲ باشد. |
entriesCount | تعداد ورودیهایی که در دادههای کدگذاری شده به صورت دلتا کدگذاری شدهاند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در |
encodedData | دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شدهاند. یک رشته کدگذاری شده با base64. |
RiceDeltaEncoded128Bit
همانند RiceDeltaEncoded32Bit است، با این تفاوت که این عددها را ۱۲۸ بیتی رمزگذاری میکند.
| نمایش JSON |
|---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| فیلدها | |
|---|---|
firstValueHi | ۶۴ بیت بالایی اولین ورودی در دادههای رمزگذاری شده (هشها). اگر فیلد خالی باشد، ۶۴ بیت بالایی همگی صفر هستند. |
firstValueLo | ۶۴ بیت پایینی اولین ورودی در دادههای رمزگذاری شده (هشها). اگر فیلد خالی باشد، ۶۴ بیت پایینی همگی صفر هستند. |
riceParameter | پارامتر Golomb-Rice. این پارامتر تضمین میشود که بین ۹۹ تا ۱۲۶ باشد. |
entriesCount | تعداد ورودیهایی که در دادههای کدگذاری شده به صورت دلتا کدگذاری شدهاند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در |
encodedData | دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شدهاند. یک رشته کدگذاری شده با base64. |
RiceDeltaEncoded256Bit
همانند RiceDeltaEncoded32Bit است، با این تفاوت که این عددها را ۲۵۶ بیتی رمزگذاری میکند.
| نمایش JSON |
|---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
| فیلدها | |
|---|---|
firstValueFirstPart | ۶۴ بیت اول از اولین ورودی در دادههای رمزگذاری شده (هشها). اگر فیلد خالی باشد، ۶۴ بیت اول همگی صفر هستند. |
firstValueSecondPart | بیتهای ۶۵ تا ۱۲۸ام اولین ورودی در دادههای رمزگذاری شده (هشها). اگر فیلد خالی باشد، بیتهای ۶۵ تا ۱۲۸ام همگی صفر هستند. |
firstValueThirdPart | بیتهای ۱۲۹ تا ۱۹۲ام از اولین ورودی در دادههای رمزگذاری شده (هشها). اگر فیلد خالی باشد، بیتهای ۱۲۹ تا ۱۹۲ام همگی صفر هستند. |
firstValueFourthPart | ۶۴ بیت آخر اولین ورودی در دادههای رمزگذاری شده (هشها). اگر فیلد خالی باشد، ۶۴ بیت آخر همگی صفر هستند. |
riceParameter | پارامتر Golomb-Rice. این پارامتر تضمین میشود که بین ۲۲۷ تا ۲۵۴ باشد. |
entriesCount | تعداد ورودیهایی که در دادههای کدگذاری شده به صورت دلتا کدگذاری شدهاند. اگر فقط یک عدد صحیح کدگذاری شده باشد، این مقدار صفر خواهد بود و آن مقدار واحد در |
encodedData | دلتاهای کدگذاری شده که با استفاده از کدگذار Golomb-Rice کدگذاری شدهاند. یک رشته کدگذاری شده با base64. |
هشلیستفراداده
فراداده درباره یک فهرست درهمسازی خاص.
| نمایش JSON |
|---|
{ "threatTypes": [ enum ( |
| فیلدها | |
|---|---|
threatTypes[] | لیست نامرتب. اگر خالی نباشد، مشخص میکند که لیست هش نوعی لیست تهدید است و نوع تهدیدهای مرتبط با هشها یا پیشوندهای هش در این لیست هش را فهرست میکند. اگر ورودی نشاندهنده تهدید نباشد، یعنی در صورتی که نشاندهنده یک نوع احتمالاً امن باشد، ممکن است خالی باشد. |
likelySafeTypes[] | لیست نامرتب. اگر خالی نباشد، این مشخص میکند که لیست هش، لیستی از هشهای احتمالاً امن را نشان میدهد و این موارد، روشهایی را که احتمالاً امن در نظر گرفته میشوند، فهرست میکند. این فیلد با فیلد threatTypes ناسازگار است. |
description | توضیحی قابل خواندن برای انسان در مورد این لیست. به زبان انگلیسی نوشته شده است. |
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 | هر هش، یک هش کامل سی و دو بایتی است. |
روشها | |
|---|---|
| آخرین محتویات یک لیست هش را دریافت میکند. |