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