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

وعندما يكون ذلك صحيحًا، يكون هذا اختلافًا جزئيًا يتضمن الإضافات والإزالة استنادًا إلى ما يمتلكه العميل من قبل. وعندما تكون القيمة false، تكون هذه هي قائمة التجزئة الكاملة.

في حال اختيار القيمة "false"، يجب أن يحذف العميل أي إصدار مخزَّن محليًا لقائمة التجزئة هذه. وهذا يعني أنّ الإصدار الذي يملكه العميل قديم جدًا أو أنّه يُعتقد أنّ بيانات العميل تالفة. سيكون الحقل compressedRemovals فارغًا.

عند تحديد القيمة الصحيحة، يجب على العميل تطبيق تحديث تدريجي من خلال تطبيق عمليات الإزالة ثم الإضافات.

compressedRemovals

object (RiceDeltaEncoded32Bit)

النسخة المشفرة من فهارس الإزالة بترميز Rice-delta نظرًا لأن كل قائمة تجزئة تحتوي بالتأكيد على أقل من 2^32 من الإدخالات، يتم التعامل مع الفهارس كأعداد صحيحة 32 بت ويتم تشفيرها.

minimumWaitDuration

string (Duration format)

يجب أن ينتظر العملاء هذه المدة على الأقل للحصول على قائمة التجزئة مرة أخرى. إذا تم حذفها أو كانت صفرًا، ينبغي للعملاء جلب البيانات على الفور لأنها تشير إلى أن الخادم لديه تحديث إضافي لإرساله إلى العميل، ولكن تعذر ذلك بسبب القيود التي يحددها العميل.

مدة بالثواني يصل عددها إلى تسعة أرقام كسرية وتنتهي بـ "s". مثال: "3.5s".

metadata

object (HashListMetadata)

البيانات الوصفية حول قائمة التجزئة لا تتم تعبئة هذا الحقل باستخدام الطريقة hashList.get، ولكن تتم تعبئة هذا الحقل باستخدام الطريقة ListHashLists.

حقل الاتحاد compressed_additions تمثّل هذه السمة النسخة التي تم ترميزها من خلال ترميز Rice-delta. تكون أطوال بادئة التجزئة للإضافات موحدة عبر جميع الإضافات في القائمة. وهي إما قيمة 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.

ملاحظة تاريخية: تمّ استخدام ترميز دلتا الأرز لأول مرة في الإصدار 4 من واجهة برمجة التطبيقات هذه. في الإصدار 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)

يشير ذلك المصطلح إلى مجموعات الدلتا المشفرة التي تم ترميزها باستخدام برنامج ترميز 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)

قائمة بدون ترتيب. وإذا لم يكن فارغًا، سيؤدي ذلك إلى تحديد أن قائمة التجزئة تمثل قائمة من علامات التجزئة الآمنة المحتملة، ويوضح ذلك الطرق التي يحتمل أن تكون آمنة بها. ولا يمكن استخدام هذا الحقل في أي مكان آخر مع الحقل شاركت "أنواع التهديدات".

mobileOptimized

boolean

ما إذا كانت هذه القائمة محسَّنة للأجهزة الجوّالة (Android وiOS)

description

string

تمثّل هذه السمة وصفًا يمكن لشخص عادي قراءته حول هذه القائمة. مكتوبة باللغة الإنجليزية.

supportedHashLengths[]

enum (HashLength)

تمثّل هذه السمة أطوال التجزئة المسموح بها لقائمة التجزئة هذه. تسمح كل قائمة تجزئة بطول واحد على الأقل. وبالتالي لن يكون هذا الحقل فارغًا.

ThreatType

أنواع التهديدات.

عمليات التعداد
THREAT_TYPE_UNSPECIFIED نوع تهديد غير معروف. وإذا عرَض الخادم هذا، سيتجاهل العميل تمامًا FullHashDetail المضمّنة.
MALWARE

نوع التهديد بالبرامج الضارة البرامج الضارّة هي أي تطبيق للأجهزة الجوّالة أو برنامج تم تصميمه خصيصًا لإلحاق الضرر بجهاز الكمبيوتر أو بالجهاز الجوّال أو ببرامج الجهاز أو بمستخدميه. وتُظهِر البرامج الضارة سلوكًا خبيثًا يمكن أن يشمل تثبيت برامج بدون موافقة المستخدم وتثبيت برامج ضارة، مثل الفيروسات.

يمكنك الاطّلاع على مزيد من المعلومات هنا.

SOCIAL_ENGINEERING

نوع تهديد الهندسة الاجتماعية تدّعي صفحات الهندسة الاجتماعية زورًا التصرف نيابةً عن طرف ثالث بهدف إرباك المشاهدين وحثّهم على اتخاذ إجراء لا يثق المشاهد سوى في وكيل حقيقي تابع لهذه الجهة الخارجية. التصيّد الاحتيالي هو نوع من الهندسة الاجتماعية التي تخدع المُشاهد لحثّه على تنفيذ إجراء معيّن يتمثل في تقديم معلومات، مثل بيانات اعتماد تسجيل الدخول.

يمكنك الاطّلاع على مزيد من المعلومات هنا.

UNWANTED_SOFTWARE نوع تهديد البرامج غير المرغوب فيه البرامج غير المرغوب فيها هي أي برامج لا تلتزم بمبادئ البرمجيات في Google ولكنها ليست برامج ضارة.
POTENTIALLY_HARMFUL_APPLICATION نوع تهديد التطبيقات الذي قد يتسبّب بضرر الذي تستخدمه خدمات "Google Play للحماية" في "متجر Play"

LikelySafeType

أنواع المواقع الإلكترونية التي يُحتمل أن تكون آمنة.

يُرجى العِلم أنّ السمة SearchHashesResponse لا تتضمّن LikelySafeType عمدًا.

عمليات التعداد
LIKELY_SAFE_TYPE_UNSPECIFIED غير معروف.
GENERAL_BROWSING من المرجّح أن يكون هذا الموقع الإلكتروني آمنًا بشكلٍ كافٍ للتصفّح العام. يُعرف هذا أيضًا باسم ذاكرة التخزين المؤقت العامة.
CSD من المحتمل أن يكون هذا الموقع الإلكتروني آمنًا بشكلٍ كافٍ بحيث لا يحتاج إلى تشغيل نماذج "الرصد من جهة العميل" أو عمليات التحقّق من حماية كلمة المرور.
DOWNLOAD من المحتمل أنّ هذا الموقع الإلكتروني آمن بشكلٍ كافٍ بحيث لا يلزم التحقّق من عمليات التنزيل من الموقع.

HashLength

طول قيم التجزئة في قائمة التجزئة.

عمليات التعداد
HASH_LENGTH_UNSPECIFIED طول غير محدَّد. لن يعرض الخادم هذه القيمة كاستجابة للعميل (في حقل supportedHashLengths)، ولكن يُسمح للعميل بإرسال هذه القيمة إلى الخادم (في حقل desiredHashLength)، وفي هذه الحالة سيختار الخادم قيمة تلقائيًا. على العملاء السماح للخادم باختيار قيمة.
FOUR_BYTES تكون كل تجزئة بادئة مكونة من أربعة بايت.
EIGHT_BYTES كل تجزئة هي بادئة من ثمانية بايت.
SIXTEEN_BYTES تكون كل تجزئة بادئة مكونة من ستة عشرة بايت.
THIRTY_TWO_BYTES كل تجزئة هي تجزئة كاملة تبلغ اثنتين وثلاثين بايت.

الطُرق

get

الحصول على أحدث محتوى قائمة التجزئة