- संसाधन: HahList
- RiceDeltaEnCode32Bit
- RiceDeltaEnCode64Bit
- RiceDeltaEnCode128Bit
- RiceDeltaEnCode256Bit
- HashListMetadata
- ThreatType
- LikelySafeType
- HashLength
- तरीके
संसाधन: हैशलिस्ट
ऐसे हैश की सूची जिसकी पहचान उसके नाम से की गई है.
जेएसओएन के काेड में दिखाना |
---|
{ "name": string, "version": string, "partialUpdate": boolean, "compressedRemovals": { object ( |
फ़ील्ड | |
---|---|
name |
हैश सूची का नाम. ध्यान दें कि ग्लोबल कैश सिर्फ़ एक हैश सूची भी है और इसे यहां देखा जा सकता है. |
version |
हैश सूची का वर्शन. क्लाइंट को उन बाइट में हेर-फेर नहीं करना चाहिए. base64 कोड में बदली गई स्ट्रिंग. |
partialUpdate |
सही होने पर, यह क्लाइंट के पास पहले से मौजूद जानकारी के आधार पर जोड़ने और हटाने वाला आंशिक अंतर होता है. गलत होने पर, यह हैश की पूरी सूची है. गलत होने पर, क्लाइंट को इस हैश सूची के लिए स्थानीय रूप से सेव किया गया कोई भी वर्शन मिटाना होगा. इसका मतलब है कि क्लाइंट के पास मौजूद वर्शन काफ़ी पुराना है या क्लाइंट का डेटा खराब माना जाता है. सही होने पर, क्लाइंट को हटाने और जोड़ने की प्रोसेस लागू करके इंंक्रीमेंटल अपडेट लागू करना चाहिए. |
compressedRemovals |
पेज को हटाने से जुड़े इंडेक्स का राइस-डेल्टा का कोड में बदला गया वर्शन. हर हैश सूची में निश्चित तौर पर 2^32 से कम एंट्री होती हैं, इसलिए इंडेक्स को 32-बिट पूर्णांक माना जाता है और कोड में बदला जाता है. |
minimumWaitDuration |
हैश सूची फिर से पाने के लिए क्लाइंट को कम से कम इतना इंतज़ार करना चाहिए. अगर इसे हटाया जाता है या शून्य किया जाता है, तो क्लाइंट को तुरंत फ़ेच करना चाहिए, क्योंकि इससे पता चलता है कि क्लाइंट को भेजने के लिए सर्वर के पास एक और अपडेट है. हालांकि, क्लाइंट की तय की गई पाबंदियों की वजह से उसे नहीं भेजा जा सका. सेकंड में दी गई अवधि, जिसमें नौ भिन्नांक हो सकते हैं. साथ ही, यह ' |
metadata |
हैश सूची के बारे में मेटाडेटा. यह डेटा, |
यूनियन फ़ील्ड compressed_additions . राइस-डेल्टा के कोड में बदले गए अटैचमेंट का वर्शन. सूची में सभी जोड़ में हैश प्रीफ़िक्स की लंबाई एक जैसी होती है. यह क्लाइंट की ओर से भेजा गया desired_hash_length होता है या अगर क्लाइंट उस फ़ील्ड को छोड़ देता है, तो सर्वर की ओर से चुनी गई वैल्यू होती है. compressed_additions इनमें से सिर्फ़ एक हो सकती है: |
|
additionsFourBytes |
4-बाइट का जोड़. |
additionsEightBytes |
8-बाइट का जोड़. |
additionsSixteenBytes |
16-बाइट का जोड़. |
additionsThirtyTwoBytes |
32-बाइट का जोड़. |
यूनियन फ़ील्ड checksum . यह, दिए गए अपडेट को लागू करने के बाद, डेटाबेस में मौजूद सभी हैश की क्रम से लगाई गई सूची के लिए चेकसम है. यह एक "oneof" फ़ील्ड है, जिसमें एक से ज़्यादा हैशिंग एल्गोरिदम को अनुमति दी जाती है. यह भी हो सकता है कि सर्वर इस फ़ील्ड को छोड़ दे (उस स्थिति में जब कोई अपडेट नहीं दिया गया). इससे यह पता चलेगा कि क्लाइंट को मौजूदा चेकसम का इस्तेमाल करना चाहिए. checksum इनमें से सिर्फ़ एक हो सकती है: |
|
sha256Checksum |
सभी हैश की क्रम से लगाई गई सूची, SHA256 के साथ फिर से हैश की गई. base64 कोड में बदली गई स्ट्रिंग. |
RiceDeltaEnकोड32 बिट
Rice-Golomb का डेटा, कोड में बदला गया है. इसका इस्तेमाल हैश या हटाने के इंडेक्स के लिए किया जाता है. यह गारंटी दी जाती है कि यहां हर हैश या इंडेक्स की लंबाई बराबर है और यह ठीक 32 बिट है.
आम तौर पर, अगर सभी एंट्री को लेक्सोग्राफ़िक तरीके से क्रम में लगाया जाता है, तो हम पाएंगे कि ज़्यादा ऑर्डर के बिट, कम ऑर्डर के बिट के मुकाबले बार-बार नहीं बदलते. इसका मतलब है कि अगर हम एंट्री के बीच नज़दीकी अंतर भी लेते हैं, तो ज़्यादा ऑर्डर बिट के शून्य होने की संभावना ज़्यादा होती है. यह, बिट की तय संख्या को चुनकर, शून्य होने की इस ज़्यादा संभावना का फ़ायदा उठाता है. इस वजह से, सभी बिट के शून्य होने की संभावना ज़्यादा होती है. इसलिए, हम सिंगल-कोडिंग का इस्तेमाल करते हैं. riceParameter
फ़ील्ड देखें.
ऐतिहासिक नोट: राइस-डेल्टा एन्कोडिंग का इस्तेमाल पहली बार इस एपीआई के वर्शन 4 में किया गया था. वर्शन 5 में दो अहम सुधार किए गए: पहला, राइस-डेल्टा एन्कोडिंग अब चार बाइट से ज़्यादा लंबे हैश प्रीफ़िक्स के साथ उपलब्ध है; दूसरा, अब कोड में बदले गए डेटा को बिग-एंडियन माना जाता है, ताकि डेटा को क्रम से लगाने के महंगे चरण से बचा जा सके.
जेएसओएन के काेड में दिखाना |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
फ़ील्ड | |
---|---|
firstValue |
कोड में बदले गए डेटा (हैश या इंडेक्स) की पहली एंट्री या अगर सिर्फ़ एक हैश प्रीफ़िक्स या इंडेक्स को कोड में बदला गया था, तो उस एंट्री की वैल्यू. अगर फ़ील्ड खाली है, तो एंट्री शून्य होगी. |
riceParameter |
Golomb-Rice पैरामीटर. यह पैरामीटर 3 और 30 के बीच होने की गारंटी है. |
entriesCount |
कोड में बदले गए डेटा में डेल्टा एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया है, तो यह शून्य होगा और सिंगल वैल्यू |
encodedData |
कोड में बदले गए डेल्टा, जिन्हें Golomb-Rice कोडर का इस्तेमाल करके कोड में बदला गया है. base64 कोड में बदली गई स्ट्रिंग. |
RiceDeltaEnकोड64 बिट
RiceDeltaEncoded32Bit
के जैसा ही है. हालांकि, यह 64-बिट वाले नंबर को कोड में बदलता है.
जेएसओएन के काेड में दिखाना |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
फ़ील्ड | |
---|---|
firstValue |
कोड में बदले गए डेटा (हैश) की पहली एंट्री या अगर सिर्फ़ एक हैश प्रीफ़िक्स को कोड में बदला गया था, तो उस एंट्री की वैल्यू. अगर फ़ील्ड खाली है, तो एंट्री शून्य होगी. |
riceParameter |
Golomb-Rice पैरामीटर. यह पैरामीटर 35 और 62 के बीच होने की गारंटी है. |
entriesCount |
कोड में बदले गए डेटा में डेल्टा एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया है, तो यह शून्य होगा और सिंगल वैल्यू |
encodedData |
कोड में बदले गए डेल्टा, जिन्हें Golomb-Rice कोडर का इस्तेमाल करके कोड में बदला गया है. base64 कोड में बदली गई स्ट्रिंग. |
RiceDeltaEnCode128 बिट
RiceDeltaEncoded32Bit
के जैसा ही है. हालांकि, यह 128-बिट वाले नंबर को कोड में बदलता है.
जेएसओएन के काेड में दिखाना |
---|
{ "firstValueHi": string, "firstValueLo": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
फ़ील्ड | |
---|---|
firstValueHi |
कोड में बदले गए डेटा (हैश) की पहली एंट्री के ऊपरी 64 बिट. अगर फ़ील्ड खाली है, तो ऊपर के 64 बिट शून्य होते हैं. |
firstValueLo |
कोड में बदले गए डेटा (हैश) की पहली एंट्री के निचले 64 बिट. अगर फ़ील्ड खाली है, तो निचले 64 बिट की वैल्यू शून्य होगी. |
riceParameter |
Golomb-Rice पैरामीटर. यह पैरामीटर 99 और 126 के बीच होने की गारंटी है. |
entriesCount |
कोड में बदले गए डेटा में डेल्टा एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक को कोड में बदला गया है, तो यह शून्य होगा और सिंगल वैल्यू |
encodedData |
कोड में बदले गए डेल्टा, जिन्हें Golomb-Rice कोडर का इस्तेमाल करके कोड में बदला गया है. base64 कोड में बदली गई स्ट्रिंग. |
RiceDeltaEnकोड256 बिट
RiceDeltaEncoded32Bit
के जैसा ही है. हालांकि, यह 256-बिट वाले नंबर को कोड में बदलता है.
जेएसओएन के काेड में दिखाना |
---|
{ "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
किसी खास हैश सूची के बारे में मेटाडेटा.
जेएसओएन के काेड में दिखाना |
---|
{ "threatTypes": [ enum ( |
फ़ील्ड | |
---|---|
threatTypes[] |
बिना क्रम वाली सूची. अगर इसे खाली नहीं किया जाता है, तो इससे पता चलता है कि हैश लिस्ट एक तरह के खतरे की सूची है. साथ ही, यह इस हैश सूची में हैश या हैश प्रीफ़िक्स से जुड़े अलग-अलग तरह के खतरों की गिनती करता है. अगर एंट्री किसी खतरे को नहीं दिखाती है, तो खाली हो सकता है. उदाहरण के लिए, ऐसे मामले में जिसमें यह एंट्री सुरक्षित तरीके से हो सकती है. |
likelySafeTypes[] |
बिना क्रम वाली सूची. अगर हैश को खाली नहीं छोड़ा जाता है, तो इससे पता चलता है कि हैश की सूची, संभावित सुरक्षित हैश की सूची दिखाती है. साथ ही, इसमें उन तरीकों की गिनती की जाती है जिन्हें संभावित तौर पर सुरक्षित माना जाता है. यह फ़ील्ड धमकी टाइप फ़ील्ड के साथ म्यूचुअली एक्सक्लूसिव है. |
mobileOptimized |
इस सूची को मोबाइल डिवाइसों (Android और iOS) के लिए ऑप्टिमाइज़ किया गया है या नहीं. |
description |
इस सूची के बारे में ऐसी जानकारी जिसे कोई भी व्यक्ति आसानी से पढ़ सके. अंग्रेज़ी में लिखा हुआ है. |
supportedHashLengths[] |
इस हैश सूची के लिए इस्तेमाल की जा सकने वाली हैश लंबाई. हर हैश सूची में कम से कम एक लंबाई होगी. इसलिए, यह फ़ील्ड खाली नहीं रहेगा. |
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 |
हर हैश बत्तीस बाइट का पूरा हैश होता है. |
तरीके |
|
---|---|
|
हैश सूची की नई सामग्री पाएं. |