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

अगर यह सही है, तो यह एक आंशिक अंतर है. इसमें, क्लाइंट के पास पहले से मौजूद डेटा के आधार पर, जोड़े गए और हटाए गए डेटा शामिल होते हैं. अगर यह फ़ॉल्स है, तो यह हैश की पूरी सूची है.

अगर यह फ़ील्ड 'गलत' पर सेट है, तो क्लाइंट को इस हैश सूची के लिए, स्थानीय तौर पर सेव किए गए किसी भी वर्शन को मिटाना होगा. इसका मतलब है कि क्लाइंट के पास मौजूद वर्शन काफ़ी पुराना है या क्लाइंट डेटा खराब है. compressedRemovals फ़ील्ड खाली रहेगा.

अगर यह सही है, तो क्लाइंट को पहले आइटम हटाकर और फिर जोड़कर, इंक्रीमेंटल अपडेट लागू करना होगा.

compressedRemovals

object (RiceDeltaEncoded32Bit)

हटाए गए इंडेक्स का राइस-डेल्टा कोड में बदला गया वर्शन. हर हैश सूची में 2^32 से कम एंट्री होती हैं. इसलिए, इंडेक्स को 32-बिट इंटिजर के तौर पर माना जाता है और उन्हें एन्कोड किया जाता है.

minimumWaitDuration

string (Duration format)

क्लाइंट को हैश सूची फिर से पाने के लिए, कम से कम इतना इंतज़ार करना चाहिए. अगर इस एट्रिब्यूट को शामिल नहीं किया गया है या इसकी वैल्यू शून्य है, तो क्लाइंट को तुरंत फ़ेच करना चाहिए. ऐसा इसलिए, क्योंकि इससे पता चलता है कि सर्वर के पास क्लाइंट को भेजने के लिए एक और अपडेट है, लेकिन क्लाइंट की बताई गई पाबंदियों की वजह से ऐसा नहीं हो सका.

सेकंड में कुल अवधि, जिसमें दशमलव के बाद नौ अंक हो सकते हैं. यह अवधि 's' पर खत्म होती है. उदाहरण: "3.5s".

sha256Checksum

string (bytes format)

सभी हैश की क्रम से लगाई गई सूची, जिसे SHA256 से फिर से हैश किया गया है. यह, दिए गए अपडेट को लागू करने के बाद, डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची का चेकसम है. अगर कोई अपडेट नहीं दिया गया है, तो सर्वर इस फ़ील्ड को हटा देगा. इससे यह पता चलेगा कि क्लाइंट को मौजूदा चेकसम का इस्तेमाल करना चाहिए.

base64 कोड में बदली गई स्ट्रिंग.

metadata

object (HashListMetadata)

हैश सूची का मेटाडेटा. यह hashList.get तरीके से पॉप्युलेट नहीं होता, लेकिन यह ListHashLists तरीके से पॉप्युलेट होता है.

यूनियन फ़ील्ड compressed_additions. जोड़ी गई जानकारी का राइस-डेल्टा कोड में बदला गया वर्शन. जोड़ी गई वैल्यू के हैश प्रीफ़िक्स की लंबाई, सूची में जोड़ी गई सभी वैल्यू के लिए एक जैसी होती है. यह क्लाइंट से भेजा गया desired_hash_length होता है या अगर क्लाइंट ने उस फ़ील्ड को शामिल नहीं किया है, तो सर्वर से चुनी गई वैल्यू होती है. compressed_additions इनमें से कोई एक हो सकता है:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

चार बाइट वाले एलिमेंट.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

आठ बाइट वाले एलिमेंट.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

16-बाइट के जोड़े गए हिस्से.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

32-बाइट के जोड़े गए हिस्से.

RiceDeltaEncoded32Bit

राइस-गोलमब में एन्कोड किया गया डेटा. इसका इस्तेमाल हैश या हटाए गए इंडेक्स के लिए किया जाता है. यह पक्का किया जाता है कि यहां हर हैश या इंडेक्स की लंबाई एक जैसी हो और यह लंबाई ठीक 32 बिट हो.

आम तौर पर, अगर हम सभी एंट्री को वर्णमाला के क्रम में क्रम से लगाते हैं, तो हमें पता चलेगा कि हाई ऑर्डर बिट, लोअर ऑर्डर बिट के मुकाबले उतनी बार नहीं बदलते. इसका मतलब है कि अगर हम एंट्री के बीच के आस-पास के अंतर को भी शामिल करते हैं, तो हाई ऑर्डर बिट के शून्य होने की संभावना ज़्यादा होती है. यह खास बिट चुनकर, शून्य होने की इस ज़्यादा संभावना का फ़ायदा उठाता है. इससे ज़्यादा अहम सभी बिट शून्य हो सकते हैं, इसलिए हम यूनीरी एन्कोडिंग का इस्तेमाल करते हैं. riceParameter फ़ील्ड देखें.

पुराने समय की जानकारी: इस एपीआई के V4 में, पहली बार राइस-डेल्टा कोडिंग का इस्तेमाल किया गया था. V5 में दो अहम सुधार किए गए थे: पहला, Rice-delta एन्कोडिंग अब चार बाइट से ज़्यादा लंबे हैश प्रीफ़िक्स के साथ उपलब्ध है; दूसरा, कोड में बदले गए डेटा को अब बिग-एंडियन के तौर पर माना जाता है, ताकि क्रम से लगाने के लिए ज़्यादा समय न लगे.

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)
  ],
  "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

खतरों के टाइप.

Enums
THREAT_TYPE_UNSPECIFIED खतरे का टाइप पता नहीं है. अगर सर्वर से यह वैल्यू मिलती है, तो क्लाइंट को FullHashDetail को पूरी तरह से अनदेखा करना चाहिए.
MALWARE

मैलवेयर से जुड़े खतरे का टाइप. मैलवेयर एक तरह का सॉफ़्टवेयर या मोबाइल ऐप्लिकेशन होता है. इसे खास तौर पर किसी कंप्यूटर, मोबाइल डिवाइस, उन पर इस्तेमाल किए जा रहे सॉफ़्टवेयर या उनके उपयोगकर्ताओं को नुकसान पहुंचाने के लिए बनाया जाता है. मैलवेयर से उपयोगकर्ता को नुकसान पहुंचाने वाली गतिविधियां की जाती हैं. इसमें उपयोगकर्ता की सहमति के बिना सॉफ़्टवेयर इंस्टॉल करने और वायरस जैसे नुकसान पहुंचाने वाले सॉफ़्टवेयर इंस्टॉल करने जैसी गतिविधियां शामिल हो सकती हैं.

इस बारे में ज़्यादा जानकारी यहां मिल सकती है.

SOCIAL_ENGINEERING

सोशल इंजीनियरिंग से जुड़े खतरे का टाइप. सोशल इंजीनियरिंग पेज, तीसरे पक्ष के नाम पर काम करने का दावा करते हैं. ऐसा वे दर्शकों को गुमराह करके, उन्हें ऐसी कार्रवाई करने के लिए उकसाने के मकसद से करते हैं जिस पर दर्शक सिर्फ़ तीसरे पक्ष के असली एजेंट का भरोसा करेगा. फ़िशिंग, सोशल इंजीनियरिंग का एक टाइप है. इसमें दर्शक को गुमराह करके, उससे जानकारी हासिल की जाती है. जैसे, लॉगिन क्रेडेंशियल.

इस बारे में ज़्यादा जानकारी यहां मिल सकती है.

UNWANTED_SOFTWARE अनचाहे सॉफ़्टवेयर से होने वाली खतरे का टाइप. अनचाहा सॉफ़्टवेयर वह सॉफ़्टवेयर होता है जो Google के सॉफ़्टवेयर के सिद्धांतों का पालन नहीं करता, लेकिन मैलवेयर नहीं होता.
POTENTIALLY_HARMFUL_APPLICATION नुकसान पहुंचाने की संभावना वाले ऐप्लिकेशन से जुड़ी खतरे की वह कैटगरी जिसका इस्तेमाल Google Play Protect, Play Store के लिए करता है.

LikelySafeType

ऐसी साइटों के टाइप जो सुरक्षित हो सकती हैं.

ध्यान दें कि SearchHashesResponse में जान-बूझकर LikelySafeType शामिल नहीं किया गया है.

Enums
LIKELY_SAFE_TYPE_UNSPECIFIED अज्ञात.
GENERAL_BROWSING आम तौर पर ब्राउज़ करने के लिए, यह साइट सुरक्षित हो सकती है. इसे ग्लोबल कैश मेमोरी भी कहा जाता है.
CSD यह साइट इतनी सुरक्षित है कि क्लाइंट-साइड डिटेक्शन मॉडल या पासवर्ड की सुरक्षा की जांच करने की ज़रूरत नहीं है.
DOWNLOAD यह साइट इतनी सुरक्षित है कि उससे डाउनलोड किए गए कॉन्टेंट की जांच करने की ज़रूरत नहीं है.

HashLength

हैश सूची में हैश की लंबाई.

Enums
HASH_LENGTH_UNSPECIFIED लंबाई की जानकारी नहीं दी गई है. सर्वर, क्लाइंट को जवाबों में यह वैल्यू नहीं दिखाएगा (supportedHashLengths फ़ील्ड में). हालांकि, क्लाइंट को यह वैल्यू सर्वर को भेजने की अनुमति है (desiredHashLength फ़ील्ड में). ऐसे में, सर्वर अपने-आप कोई वैल्यू चुन लेगा. क्लाइंट को सर्वर को वैल्यू चुनने देनी चाहिए.
FOUR_BYTES हर हैश चार बाइट का प्रीफ़िक्स होता है.
EIGHT_BYTES हर हैश आठ बाइट का प्रीफ़िक्स होता है.
SIXTEEN_BYTES हर हैश, सोलह-बाइट प्रीफ़िक्स होता है.
THIRTY_TWO_BYTES हर हैश, 32-बाइट का पूरा हैश होता है.

तरीके

get

हैश सूची का नया कॉन्टेंट पाएं.