- المصدر: HashList
- RiceDeltaEncoded32Bit
- RiceDeltaEncoded64Bit
- RiceDeltaEncoded128Bit
- RiceDeltaEncoded256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- الطُرق
المورد: HashList
قائمة بالعلامات المحوَّلة التي يتم تحديدها حسب اسمها
تمثيل JSON |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
الحقول | |
---|---|
name |
اسم قائمة التجزئة يُرجى العلم أنّ "الذاكرة المؤقتة الشاملة" هي أيضًا قائمة تشفير يمكن الرجوع إليها هنا. |
version |
إصدار قائمة التجزئة يجب ألّا يغيّر العميل هذه البايتات. سلسلة مُشفَّرة باستخدام base64 |
partialUpdate |
عندما تكون القيمة true، يعني ذلك أنّ هذا ملف اختلاف جزئي يحتوي على إضافات وإزالات استنادًا إلى ما لدى العميل حاليًا. عندما يكون القيمة خطأ، تكون هذه هي قائمة التجزئة الكاملة. عندما يكون القيمة خطأ، يجب أن يحذف العميل أي نسخة محفوظة على الجهاز لقائمة التجزئة هذه. وهذا يعني أنّ الإصدار الذي يمتلكه العميل قديم جدًا أو يُعتقد أنّ بيانات العميل تالفة. سيكون حقل عندما يكون صحيحًا، يجب أن يطبّق العميل تعديلاً متزايدًا من خلال تطبيق عمليات الإزالة ثمّ الإضافات. |
compressedRemovals |
النسخة المشفَّرة بترميز Rice-delta لفهارس عمليات الإزالة بما أنّ كل قائمة تجزئة تحتوي بالتأكيد على أقل من 2^32 إدخالًا، يتم التعامل مع الفهارس على أنّها أعداد صحيحة بسعة 32 بت ويتم ترميزها. |
minimumWaitDuration |
على العملاء الانتظار لمدة لا تقل عن هذه المدة للحصول على قائمة التجزئة مرة أخرى. في حال حذف هذا الحقل أو ضبطه على القيمة 0، يجب أن يجلب العملاء البيانات على الفور لأنّ ذلك يشير إلى أنّ الخادم لديه تعديل إضافي لإرساله إلى العميل، ولكن تعذّر عليه إرسال هذا التعديل بسبب القيود التي يحدّدها العميل. المدة بالثواني مع ما يصل إلى تسعة أرقام كسور، وتنتهي بـ " |
sha256Checksum |
القائمة المفهرَسة لجميع التجزئات، والتي تم تجزئتها مرة أخرى باستخدام SHA256 هذا هو المجموع الاختباري للقائمة المرتبة لجميع التجزئات المتوفّرة في قاعدة البيانات بعد تطبيق التعديل المقدَّم. في حال عدم تقديم أي تعديلات، سيحذف الخادم هذا الحقل للإشارة إلى أنّه على العميل استخدام المجموع الاختباري الحالي. سلسلة مُشفَّرة باستخدام base64 |
metadata |
البيانات الوصفية حول قائمة التجزئة لا تتم تعبئة هذا الحقل باستخدام الطريقة |
حقل الربط compressed_additions النسخة المشفَّرة بترميز Rice-delta للإضافة تكون أطوال بادئات التجزئة للإضافة متسقة في جميع الإضافات المدرَجة في القائمة. وهي إما desired_hash_length التي أرسلها العميل أو قيمة اختارها الخادم إذا حذف العميل هذا الحقل. يمكن أن يكون compressed_additions واحدًا فقط مما يلي: |
|
additionsFourBytes |
الإضافات التي تبلغ 4 بايت |
additionsEightBytes |
الإضافات التي تبلغ 8 بايت |
additionsSixteenBytes |
الإضافات التي تبلغ 16 بايت |
additionsThirtyTwoBytes |
الإضافات التي تبلغ 32 بايت |
RiceDeltaEncoded32Bit
البيانات المشفّرة بترميز Rice-Golomb تُستخدَم إما للترميزات أو مؤشرات الإزالة. نضمن أنّ كلّ فهرس أو تجزئة هنا لها الطول نفسه، وهذا الطول هو 32 بت بالضبط.
بشكل عام، إذا رتبنا جميع الإدخالات أبجديًا، سنجد أنّ الوحدات ذات الترتيب الأعلى لا تتغيّر بمعدل تكرار مرتفع مثل الوحدات ذات الترتيب الأدنى. وهذا يعني أنّه إذا أخذنا أيضًا الفرق المجاور بين الإدخالات، من المرجّح أن تكون الأرقام الثنائية ذات الترتيب الأعلى صفرًا. ويستغل هذا الاحتمال الكبير للقيمة صفر من خلال اختيار عدد معيّن من البتات، ومن المرجّح أن تكون كل البتات الأكثر أهمية من هذا الصفر، لذا نستخدم الترميز الثنائي. اطّلِع على حقل riceParameter
.
ملاحظة تاريخية: تم استخدام ترميز Rice-delta لأول مرة في الإصدار 4 من واجهة برمجة التطبيقات هذه. في الإصدار 5، تم إجراء تحسنَين مهمّين: أولاً، أصبح ترميز Rice-delta متاحًا الآن مع بادئات التجزئة التي تزيد عن 4 بايت. ثانيًا، يتم الآن التعامل مع البيانات المشفّرة على أنّها ذات ترتيب ثنائي كبير لتجنُّب خطوة الترتيب المكلّفة.
تمثيل JSON |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
الحقول | |
---|---|
firstValue |
الإدخال الأول في البيانات المشفّرة (التجزئات أو الفهارس)، أو قيمة هذا الإدخال في حال تم ترميز بادئة تجزئة أو فهرس واحد فقط إذا كان الحقل فارغًا، تكون الإدخال صفرًا. |
riceParameter |
مَعلمة Golomb-Rice من المؤكد أنّ هذه المَعلمة تتراوح بين 3 و30، شاملةً. |
entriesCount |
عدد الإدخالات التي تم تشفيرها باستخدام ترميز دلتا في البيانات المشفَّرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العنصر هو الصفر وسيتم تخزين القيمة الواحدة في |
encodedData |
القيم المتزايدة التي تم ترميزها باستخدام ترميز Golomb-Rice سلسلة مُشفَّرة باستخدام base64 |
RiceDeltaEncoded64Bit
هي نفسها الدالة RiceDeltaEncoded32Bit
باستثناء أنّها تُشفِّر الأرقام بسعة 64 بت.
تمثيل JSON |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
الحقول | |
---|---|
firstValue |
الإدخال الأول في البيانات المشفّرة (التجزئات)، أو قيمة هذا الإدخال في حال ترميز بادئة تجزئة واحدة فقط إذا كان الحقل فارغًا، تكون الإدخال صفرًا. |
riceParameter |
مَعلمة Golomb-Rice من المؤكد أنّ هذه المَعلمة تتراوح بين 35 و62، شاملةً. |
entriesCount |
عدد الإدخالات التي تم تشفيرها باستخدام ترميز دلتا في البيانات المشفَّرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العنصر هو الصفر وسيتم تخزين القيمة الواحدة في |
encodedData |
القيم المتزايدة التي تم ترميزها باستخدام ترميز Golomb-Rice سلسلة بترميز base64 |
RiceDeltaEncoded128Bit
القيمة نفسها مثل RiceDeltaEncoded32Bit
، باستثناء أنّها تُشفِّر الأرقام التي تبلغ 128 بت.
تمثيل JSON |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
الحقول | |
---|---|
firstValueHi |
أعلى 64 بت من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة 0 في أعلى 64 بت. |
firstValueLo |
64 بت أدنى من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة 0 في 64 بت السفلية. |
riceParameter |
مَعلمة Golomb-Rice من المؤكد أنّ هذه المَعلمة تتراوح بين 99 و126، شاملةً. |
entriesCount |
عدد الإدخالات التي تم تشفيرها باستخدام ترميز دلتا في البيانات المشفَّرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العنصر هو الصفر وسيتم تخزين القيمة الواحدة في |
encodedData |
القيم المتزايدة التي تم ترميزها باستخدام ترميز Golomb-Rice سلسلة مُشفَّرة باستخدام base64 |
RiceDeltaEncoded256Bit
هو نفسه RiceDeltaEncoded32Bit
باستثناء أنّه يُشفِّر الأرقام التي تبلغ 256 بت.
تمثيل JSON |
---|
{ "firstValueFirstPart": string, "firstValueSecondPart": string, "firstValueThirdPart": string, "firstValueFourthPart": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
الحقول | |
---|---|
firstValueFirstPart |
أول 64 بت من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون أول 64 بت من العنوان كلها صفر. |
firstValueSecondPart |
من البايت 65 إلى البايت 128 من الإدخال الأول في البيانات المشفَّرة (التجزئات) إذا كان الحقل فارغًا، تكون القيمة صفرًا من البت 65 إلى البت 128. |
firstValueThirdPart |
من البايت 129 إلى البايت 192 من الإدخال الأول في البيانات المشفّرة (التجزئات) إذا كان الحقل فارغًا، تكون الأرقام الثنائيّة من 129 إلى 192 كلها صفرًا. |
firstValueFourthPart |
آخر 64 بت من الإدخال الأول في البيانات المشفّرة (التجزئات) إذا كان الحقل فارغًا، تكون آخر 64 بت صفرية. |
riceParameter |
مَعلمة Golomb-Rice من المؤكد أنّ قيمة هذه المَعلمة تتراوح بين 227 و254، بما في ذلك. |
entriesCount |
عدد الإدخالات التي تم تشفيرها باستخدام ترميز دلتا في البيانات المشفَّرة. إذا تم ترميز عدد صحيح واحد فقط، سيكون هذا العنصر هو الصفر وسيتم تخزين القيمة الواحدة في |
encodedData |
القيم المتزايدة التي تم ترميزها باستخدام ترميز Golomb-Rice سلسلة مُشفَّرة باستخدام base64 |
HashListMetadata
البيانات الوصفية حول قائمة تجزئة معيّنة
تمثيل JSON |
---|
{ "threatTypes": [ enum ( |
الحقول | |
---|---|
threatTypes[] |
قائمة بدون ترتيب إذا لم تكن فارغة، يعني ذلك أنّ قائمة التجزئة هي نوع من قوائم التهديدات، وهذا يحدّد نوع التهديدات المرتبطة بتجزئات أو بادئات تجزئة في قائمة التجزئة هذه. قد يكون الحقل فارغًا إذا كان الإدخال لا يمثّل تهديدًا، أي في حال كان يمثّل نوعًا آمنًا على الأرجح. |
likelySafeTypes[] |
قائمة بدون ترتيب إذا لم تكن فارغة، يعني ذلك أنّ قائمة التجزئات تمثّل قائمة بتجزئات يُحتمل أن تكون آمنة، وهذا يسرد الطرق التي يُعتبَر بها أنّها آمنة على الأرجح. لا يمكن استخدام هذا الحقل مع حقل threatTypes. |
description |
وصف يمكن لشخص عادي قراءته عن هذه القائمة أن تكون مكتوبة باللغة الإنجليزية |
supportedHashLengths[] |
أطوال التجزئة المتوافقة لقائمة التجزئة هذه. ستتيح كل قائمة علامات هاشتاغ طولًا واحدًا على الأقل. وبالتالي، لن يكون هذا الحقل فارغًا. |
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 بايت. |
الطُرق |
|
---|---|
|
الحصول على أحدث محتوى لقائمة التجزئة |