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

عندما تكون القيمة true، يكون ذلك فرقًا جزئيًا يحتوي على إضافات وعمليات إزالة استنادًا إلى ما لدى العميل من قبل. عندما تكون القيمة 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. هذا هو المجموع الاختباري للقائمة التي تم ترتيبها لجميع علامات التجزئة المتوفّرة في قاعدة البيانات بعد تطبيق التعديل المقدَّم. هذا "أحد" للسماح بخوارزميات تجزئة متعددة. من الممكن أيضًا للخادم حذف هذا الحقل (في حالة عدم توفير أي تحديثات) للإشارة إلى أنه على العميل استخدام المجموع الاختباري الحالي. يمكن أن يكون checksum واحدًا فقط مما يلي:
sha256Checksum

string (bytes format)

هذه القائمة المرتبة التي تضم جميع علامات التجزئة، تمت تجزئتها مرة أخرى باستخدام SHA256.

سلسلة بترميز base64.

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 بت من الإدخال الأول في البيانات المشفرة (التجزئة). إذا كان الحقل فارغًا، تكون جميع وحدات 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)

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

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

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