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

اسم قائمة التجزئة يُرجى العلم أنّ "الذاكرة المؤقتة الشاملة" هي أيضًا قائمة تشفير يمكن الرجوع إليها هنا.

version

string (bytes format)

إصدار قائمة التجزئة يجب ألّا يغيّر العميل هذه البايتات.

سلسلة مُشفَّرة باستخدام base64

partialUpdate

boolean

عندما تكون القيمة true، يعني ذلك أنّ هذا ملف اختلاف جزئي يحتوي على إضافات وإزالات استنادًا إلى ما لدى العميل حاليًا. عندما يكون القيمة خطأ، تكون هذه هي قائمة التجزئة الكاملة.

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

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

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

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

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

sha256Checksum

string (bytes format)

القائمة المفهرَسة لجميع التجزئات، والتي تم تجزئتها مرة أخرى باستخدام SHA256 هذا هو المجموع الاختباري للقائمة المرتبة لجميع التجزئات المتوفّرة في قاعدة البيانات بعد تطبيق التعديل المقدَّم. في حال عدم تقديم أي تعديلات، سيحذف الخادم هذا الحقل للإشارة إلى أنّه على العميل استخدام المجموع الاختباري الحالي.

سلسلة مُشفَّرة باستخدام base64

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 بايت

RiceDeltaEncoded32Bit

البيانات المشفّرة بترميز Rice-Golomb تُستخدَم إما للترميزات أو مؤشرات الإزالة. نضمن أنّ كلّ فهرس أو تجزئة هنا لها الطول نفسه، وهذا الطول هو 32 بت بالضبط.

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

ملاحظة تاريخية: تم استخدام ترميز Rice-delta لأول مرة في الإصدار 4 من واجهة برمجة التطبيقات هذه. في الإصدار 5، تم إجراء تحسنَين مهمّين: أولاً، أصبح ترميز 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 بت من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة 0 في أعلى 64 بت.

firstValueLo

string (uint64 format)

64 بت أدنى من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة 0 في 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)
  ],
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ],
  "hashLength": enum (HashLength)
}
الحقول
threatTypes[]

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

قائمة بدون ترتيب إذا لم تكن فارغة، يعني ذلك أنّ قائمة التجزئات تمثّل قائمة بتجزئات يُحتمل أن تكون آمنة، وهذا يسرد الطرق التي يُعتبَر بها أنّها آمنة على الأرجح. لا يمكن استخدام هذا الحقل مع حقل threatTypes.

description

string

وصف يمكن لشخص عادي قراءته عن هذه القائمة أن تكون مكتوبة باللغة الإنجليزية

supportedHashLengths[]
(deprecated)

enum (HashLength)

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

hashLength

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 كلّ تجزئة هي تجزئة كاملة تبلغ 32 بايت.

الطُرق

get

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