REST Resource: hashList

संसाधन: हैशलिस्ट

ऐसे हैश की सूची जिसकी पहचान उसके नाम से की गई है.

जेएसओएन के काेड में दिखाना
{
  "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

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

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

सही होने पर, क्लाइंट को हटाने और जोड़ने की प्रोसेस लागू करके इंंक्रीमेंटल अपडेट लागू करना चाहिए.

compressedRemovals

object (RiceDeltaEncoded32Bit)

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

minimumWaitDuration

string (Duration format)

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

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

metadata

object (HashListMetadata)

हैश सूची के बारे में मेटाडेटा. यह डेटा, hashList.get तरीके से अपने-आप नहीं भरता, लेकिन ListHashLists तरीके से अपने-आप यह भर जाता है.

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

object (RiceDeltaEncoded32Bit)

4-बाइट का जोड़.

additionsEightBytes

object (RiceDeltaEncoded64Bit)

8-बाइट का जोड़.

additionsSixteenBytes

object (RiceDeltaEncoded128Bit)

16-बाइट का जोड़.

additionsThirtyTwoBytes

object (RiceDeltaEncoded256Bit)

32-बाइट का जोड़.

यूनियन फ़ील्ड checksum. यह, दिए गए अपडेट को लागू करने के बाद, डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची के लिए चेकसम है. यह एक "oneof" फ़ील्ड है, जिसमें एक से ज़्यादा हैशिंग एल्गोरिदम को अनुमति दी जाती है. यह भी हो सकता है कि सर्वर इस फ़ील्ड को छोड़ दे (उस स्थिति में जब कोई अपडेट नहीं दिया गया). इससे यह पता चलेगा कि क्लाइंट को मौजूदा चेकसम का इस्तेमाल करना चाहिए. checksum इनमें से सिर्फ़ एक हो सकती है:
sha256Checksum

string (bytes format)

सभी हैश की क्रम से लगाई गई सूची, SHA256 के साथ फिर से हैश की गई.

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

RiceDeltaEnकोड32 बिट

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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 कोड में बदली गई स्ट्रिंग.

RiceDeltaEnकोड64 बिट

RiceDeltaEncoded32Bit के जैसा ही है. हालांकि, यह 64-बिट वाले नंबर को कोड में बदलता है.

जेएसओएन के काेड में दिखाना
{
  "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 कोड में बदली गई स्ट्रिंग.

RiceDeltaEnCode128 बिट

RiceDeltaEncoded32Bit के जैसा ही है. हालांकि, यह 128-बिट वाले नंबर को कोड में बदलता है.

जेएसओएन के काेड में दिखाना
{
  "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 कोड में बदली गई स्ट्रिंग.

RiceDeltaEnकोड256 बिट

RiceDeltaEncoded32Bit के जैसा ही है. हालांकि, यह 256-बिट वाले नंबर को कोड में बदलता है.

जेएसओएन के काेड में दिखाना
{
  "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

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

जेएसओएन के काेड में दिखाना
{
  "threatTypes": [
    enum (ThreatType)
  ],
  "likelySafeTypes": [
    enum (LikelySafeType)
  ],
  "mobileOptimized": boolean,
  "description": string,
  "supportedHashLengths": [
    enum (HashLength)
  ]
}
फ़ील्ड
threatTypes[]

enum (ThreatType)

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

likelySafeTypes[]

enum (LikelySafeType)

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

mobileOptimized

boolean

इस सूची को मोबाइल डिवाइसों (Android और iOS) के लिए ऑप्टिमाइज़ किया गया है या नहीं.

description

string

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

supportedHashLengths[]

enum (HashLength)

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

ThreatType

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

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

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

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

SOCIAL_ENGINEERING

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

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

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

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 हर हैश बत्तीस बाइट का पूरा हैश होता है.

तरीके

get

हैश सूची की नई सामग्री पाएं.