- संसाधन: 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 . जोड़ी गई जानकारी का राइस-डेल्टा कोड में बदला गया वर्शन. जोड़ी गई वैल्यू के हैश प्रीफ़िक्स की लंबाई, सूची में जोड़ी गई सभी वैल्यू के लिए एक जैसी होती है. यह क्लाइंट से भेजा गया desired_hash_length होता है या अगर क्लाइंट ने उस फ़ील्ड को शामिल नहीं किया है, तो सर्वर से चुनी गई वैल्यू होती है. compressed_additions इनमें से कोई एक हो सकता है: |
|
additionsFourBytes |
चार बाइट वाले एलिमेंट. |
additionsEightBytes |
आठ बाइट वाले एलिमेंट. |
additionsSixteenBytes |
16-बाइट के जोड़े गए हिस्से. |
additionsThirtyTwoBytes |
32-बाइट के जोड़े गए हिस्से. |
RiceDeltaEncoded32Bit
राइस-गोलमब में एन्कोड किया गया डेटा. इसका इस्तेमाल हैश या हटाए गए इंडेक्स के लिए किया जाता है. यह पक्का किया जाता है कि यहां हर हैश या इंडेक्स की लंबाई एक जैसी हो और यह लंबाई ठीक 32 बिट हो.
आम तौर पर, अगर हम सभी एंट्री को वर्णमाला के क्रम में क्रम से लगाते हैं, तो हमें पता चलेगा कि हाई ऑर्डर बिट, लोअर ऑर्डर बिट के मुकाबले उतनी बार नहीं बदलते. इसका मतलब है कि अगर हम एंट्री के बीच के आस-पास के अंतर को भी शामिल करते हैं, तो हाई ऑर्डर बिट के शून्य होने की संभावना ज़्यादा होती है. यह खास बिट चुनकर, शून्य होने की इस ज़्यादा संभावना का फ़ायदा उठाता है. इससे ज़्यादा अहम सभी बिट शून्य हो सकते हैं, इसलिए हम यूनीरी एन्कोडिंग का इस्तेमाल करते हैं. riceParameter
फ़ील्ड देखें.
पुराने समय की जानकारी: इस एपीआई के V4 में, पहली बार राइस-डेल्टा कोडिंग का इस्तेमाल किया गया था. V5 में दो अहम सुधार किए गए थे: पहला, Rice-delta एन्कोडिंग अब चार बाइट से ज़्यादा लंबे हैश प्रीफ़िक्स के साथ उपलब्ध है; दूसरा, कोड में बदले गए डेटा को अब बिग-एंडियन के तौर पर माना जाता है, ताकि क्रम से लगाने के लिए ज़्यादा समय न लगे.
JSON के काेड में दिखाना |
---|
{ "firstValue": integer, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
फ़ील्ड | |
---|---|
firstValue |
कोड में बदले गए डेटा (हैश या इंडेक्स) में पहली एंट्री या अगर सिर्फ़ एक हैश प्रीफ़िक्स या इंडेक्स कोड में बदला गया था, तो उस एंट्री की वैल्यू. अगर फ़ील्ड खाली है, तो एंट्री शून्य होगी. |
riceParameter |
Golomb-Rice पैरामीटर. यह पैरामीटर, 3 से 30 के बीच होना चाहिए. |
entriesCount |
एन्क्रिप्ट किए गए डेटा में डेल्टा कोड वाली एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू |
encodedData |
कोड में बदले गए ऐसे डेल्टा जो Golomb-Rice कोडर का इस्तेमाल करके कोड में बदले जाते हैं. base64 कोड में बदली गई स्ट्रिंग. |
RiceDeltaEncoded64Bit
यह RiceDeltaEncoded32Bit
जैसा ही है. हालांकि, यह 64-बिट नंबर को कोड में बदलता है.
JSON के काेड में दिखाना |
---|
{ "firstValue": string, "riceParameter": integer, "entriesCount": integer, "encodedData": string } |
फ़ील्ड | |
---|---|
firstValue |
एन्कोड किए गए डेटा (हैश) में पहली एंट्री या अगर सिर्फ़ एक हैश प्रीफ़िक्स को एन्कोड किया गया था, तो उस एंट्री की वैल्यू. अगर फ़ील्ड खाली है, तो एंट्री शून्य होगी. |
riceParameter |
Golomb-Rice पैरामीटर. यह पैरामीटर 35 से 62 के बीच होना चाहिए. |
entriesCount |
एन्क्रिप्ट किए गए डेटा में डेल्टा कोड वाली एंट्री की संख्या. अगर सिर्फ़ एक पूर्णांक कोड में बदला गया था, तो यह शून्य होगा और एक वैल्यू |
encodedData |
कोड में बदले गए ऐसे डेल्टा जो Golomb-Rice कोडर का इस्तेमाल करके कोड में बदले जाते हैं. 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 |
कोड में बदले गए ऐसे डेल्टा जो Golomb-Rice कोडर का इस्तेमाल करके कोड में बदले जाते हैं. 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 |
कोड में बदले गए ऐसे डेल्टा जो Golomb-Rice कोडर का इस्तेमाल करके कोड में बदले जाते हैं. base64 कोड में बदली गई स्ट्रिंग. |
HashListMetadata
किसी खास हैश सूची के बारे में मेटाडेटा.
JSON के काेड में दिखाना |
---|
{ "threatTypes": [ enum ( |
फ़ील्ड | |
---|---|
threatTypes[] |
बिना क्रम वाली सूची. अगर यह फ़ील्ड खाली नहीं है, तो इसका मतलब है कि हैश सूची, खतरे की सूची है. साथ ही, यह हैश सूची में हैश या हैश प्रीफ़िक्स से जुड़े खतरों की जानकारी देती है. अगर एंट्री में कोई खतरा नहीं है, तो यह फ़ील्ड खाली हो सकता है. उदाहरण के लिए, अगर एंट्री में कोई सुरक्षित टाइप दिखता है. |
likelySafeTypes[] |
बिना क्रम वाली सूची. अगर यह फ़ील्ड खाली नहीं है, तो इसका मतलब है कि हैश की सूची में ऐसे हैश शामिल हैं जो सुरक्षित हो सकते हैं. साथ ही, इस सूची में उन तरीकों के बारे में भी बताया गया है जिनसे यह पता चलता है कि वे सुरक्षित हो सकते हैं. यह फ़ील्ड, threatTypes फ़ील्ड के साथ काम नहीं करता. |
description |
इस सूची के बारे में ऐसी जानकारी जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है. अंग्रेज़ी में लिखा गया हो. |
supportedHashLengths[] |
इस हैश सूची के लिए, हैश की लंबाई. हर हैश सूची में कम से कम एक लंबाई काम करेगी. इसलिए, यह फ़ील्ड खाली नहीं होगा. |
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-बाइट का पूरा हैश होता है. |
तरीके |
|
---|---|
|
हैश सूची का नया कॉन्टेंट पाएं. |