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. यह जोड़े गए डेटा का राइस-डेल्टा एन्कोड किया गया वर्शन है. सूची में जोड़े गए सभी आइटम के हैश प्रीफ़िक्स की लंबाई एक जैसी होती है. compressed_additions इनमें से सिर्फ़ एक हो सकता है:
additionsFourBytes

object (RiceDeltaEncoded32Bit)

चार बाइट वाले वर्ण जोड़े गए हैं.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

आठ बाइट के जोड़.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

16 बाइट के जोड़े गए डेटा.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

32 बाइट के डेटा को जोड़ा गया.

RiceDeltaEncoded32Bit

राइस-गोलॉम्ब एन्कोड किया गया डेटा. इसका इस्तेमाल हैश या हटाने के इंडेक्स के लिए किया जाता है. इस बात की गारंटी है कि यहां मौजूद हर हैश या इंडेक्स की लंबाई एक जैसी होती है. साथ ही, यह लंबाई ठीक 32 बिट होती है.

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

इतिहास से जुड़ी जानकारी: राइस-डेल्टा एन्कोडिंग का इस्तेमाल पहली बार इस एपीआई के V4 में किया गया था. V5 में दो अहम सुधार किए गए हैं: पहला, राइस-डेल्टा एन्कोडिंग अब 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)

गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा.

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)

गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा.

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)

गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा.

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)

गोलोम्ब-राइस कोडर का इस्तेमाल करके कोड में बदले गए डेल्टा.

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

HashListMetadata

किसी हैश सूची के बारे में मेटाडेटा.

JSON के काेड में दिखाना
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "description": string,
  "hashLength": enum (HashLength)
}
फ़ील्ड
threatTypes[]

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

बिना क्रम वाली सूची. अगर यह खाली नहीं है, तो इसका मतलब है कि हैश की सूची में ऐसे हैश शामिल हैं जो सुरक्षित हो सकते हैं. साथ ही, इसमें यह भी बताया गया है कि उन्हें सुरक्षित क्यों माना जाता है. यह फ़ील्ड, threatTypes फ़ील्ड के साथ काम नहीं करता है.

description

string

इस सूची के बारे में ऐसी जानकारी जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. अंग्रेज़ी में लिखा गया हो.

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 तय नहीं की गई लंबाई.
FOUR_BYTES हर हैश, चार बाइट का प्रीफ़िक्स होता है.
EIGHT_BYTES हर हैश, आठ बाइट का प्रीफ़िक्स होता है.
SIXTEEN_BYTES हर हैश, 16 बाइट का प्रीफ़िक्स होता है.
THIRTY_TWO_BYTES हर हैश, 32 बाइट का पूरा हैश होता है.

तरीके

get

इस तरीके से, हैश की गई सूची का नया कॉन्टेंट मिलता है.