वेब कॅप्चर आणि रूपांतरित करण्यासाठी साधने

कॅप्चरची सामग्री कशी संरक्षित करावी?

एनक्रिप्टेड कॅप्चर

जनरल डेटा प्रोटेक्शन रेग्युलेशन किंवा GDPR सारख्या कायद्यांच्या युगात वापरकर्त्याच्या माहितीचे संरक्षण करणे पूर्वीपेक्षा अधिक महत्त्वाचे झाले आहे. जेव्हा एखादे कॅप्चर घेतले जाते तेव्हा ते डाउनलोड करणे सक्षम करण्यासाठी आमच्या सर्व्हरवर थोड्या काळासाठी कॅश केले जाते. आमचे सर्व्हर सुरक्षित असताना आणि आम्ही परवानगीशिवाय वापरकर्त्याच्या कॅप्चरची तपासणी करत नाही. वैयक्तिक माहिती हाताळताना काही परिस्थितींमध्ये हे पुरेसे संरक्षण नसते.

पहिली संभाव्य सुधारणा म्हणजे कॅशेची लांबी शून्य मिनिटांवर बदलून यापुढे कॅशे कॅप्चर करणे खाते पृष्ठ. तथापि लक्षात ठेवा, याचा अर्थ असा होईल की कॅप्चर फार काळ डाउनलोड करण्यासाठी उपलब्ध राहणार नाही म्हणून ते तयार झाल्यानंतर लगेच डाउनलोड करणे आवश्यक आहे.

आणखी एक संभाव्य सुरक्षा चिंता म्हणजे संवेदनशील डेटा आम्हाला पाठवण्याची वास्तविक प्रक्रिया. हा डेटा सुरक्षित करण्यासाठी तुम्ही आधी SSL सक्षम करा, नंतर एकदा आम्हाला डेटा प्राप्त झाला आणि त्यावर प्रक्रिया केली गेली, जी खूप लवकर होते, सुरक्षिततेचे कोणतेही उल्लंघन होणार नाही याची खात्री करण्यासाठी तो स्वयंचलितपणे आमच्या सिस्टममधून हटविला जाईल.

द्वारे PDF किंवा DOCX कॅप्चरमध्ये अधिक सुरक्षा देखील जोडली जाऊ शकते कागदपत्रांचे संरक्षण करणारा पासवर्ड. हे सुनिश्चित करते की योग्य पासवर्ड असलेले केवळ तेच वापरकर्ते संरक्षित फाइलमध्ये प्रवेश करू शकतात.

तथापि, जर तुम्ही अतिसंवेदनशील माहिती जसे की हॉस्पिटल रेकॉर्ड इत्यादी कॅप्चर करत असाल आणि तुम्हाला अतिरिक्त पातळीचे संरक्षण हवे असेल तर तुम्ही परिणामी कॅप्चर स्वतःच कूटबद्ध करू शकता. हे करण्यासाठी तुम्ही प्रत्येक विनंतीसह एक एनक्रिप्शन की निर्दिष्ट करता, या की GrabzIt द्वारे संग्रहित केल्या जात नाहीत. ही की माहिती संरक्षित करण्यासाठी कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. आम्ही की साठवून ठेवत नसल्यामुळे आम्ही तुम्हाला एनक्रिप्टेड कॅप्चर पुनर्प्राप्त करण्यात मदत करू शकत नाही. एकदा तुम्ही कॅप्चर प्राप्त केल्यानंतर ते डिक्रिप्ट करण्यासाठी तुम्ही आधी व्युत्पन्न केलेली की वापरा.

खालील उदाहरणामध्ये क्रिप्टोग्राफिकली सुरक्षित की तयार केली जाते आणि GrabzIt वर पाठवली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर परिणाम डिक्रिप्ट करण्यासाठी वापरली जाते.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.UseSSL(true);

string encryptionKey = grabzIt.CreateEncryptionKey();

ImageOptions options = new ImageOptions();
options.EncryptionKey = encryptionKey;

grabzIt.URLToImage("http://www.spacex.com", options);
GrabzItFile encryptedCapture = grabzIt.SaveTo();

GrabzItFile decryptedCapture = grabzIt.Decrypt(encryptedCapture, encryptionKey);

खालील उदाहरणामध्ये क्रिप्टोग्राफिकली सुरक्षित की तयार केली जाते आणि GrabzIt वर पाठवली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर परिणाम डिक्रिप्ट करण्यासाठी वापरली जाते.

Java 6, 7 आणि 8 सह एनक्रिप्टेड कॅप्चर वापरण्यासाठी कृपया Java क्रिप्टोग्राफी एक्स्टेंशन (JCE) अमर्यादित शक्ती अधिकार क्षेत्र धोरण फाइल्स स्थापित करा into Java इंस्टॉलेशन फोल्डर्सचे सर्व /jre/lib/security/ फोल्डर्स.

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
grabzIt.UseSSL(true);

String encryptionKey = grabzIt.CreateEncryptionKey();

ImageOptions options = new ImageOptions();
options.setEncryptionKey(encryptionKey);

grabzIt.URLToImage("http://www.spacex.com", options);
GrabzItFile encryptedCapture = grabzIt.SaveTo();

GrabzItFile decryptedCapture = grabzIt.Decrypt(encryptedCapture, encryptionKey);

खालील उदाहरणात क्रिप्टोग्राफिकली सुरक्षित की स्वयंचलितपणे तयार केली जाते आणि GrabzIt वर पाठविली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर डेटायूआरआय पद्धतीत सत्य पास करून निकाल आपोआप डिक्रिप्ट करण्यासाठी वापरली जाते, जी नंतर कॉलबॅक पद्धतीमध्ये वाचली जाऊ शकते.

<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
</head>
<body>
<img id="capture"></img>
function callback(dataUri)
{
    document.getElementById('capture').src = dataUri;
}
<script type="text/javascript">
GrabzIt("Sign in to view your Application Key").UseSSL().Encrypt().ConvertURL("http://www.spacex.com").DataURI(callback, true);
</script>
</body>
</html>

खालील उदाहरणामध्ये क्रिप्टोग्राफिकली सुरक्षित की तयार केली जाते आणि GrabzIt वर पाठवली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर परिणाम डिक्रिप्ट करण्यासाठी वापरली जाते.

var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
client.use_ssl(true);

var encryptionKey = client.create_encryption_key();

client.url_to_image("http://www.spacex.com", {"encryptionKey":encryptionKey});
client.save_to(null, function (error, result){
    if (error != null){
        throw error;
    }
    var decryptedBytes = client.decrypt(result, encryptionKey);
}); 	

दुर्दैवाने पर्ल एईएस एनक्रिप्शन मूळतः डिक्रिप्ट करू शकत नाही आणि बाह्य एक्झिक्युटेबल किंवा सी संकलन आवश्यक आहे. म्हणून आम्ही आमच्या Perl API मध्ये ही कार्यक्षमता जोडलेली नाही त्याऐवजी तुम्ही खालील मार्गदर्शक वापरून ही कार्यक्षमता स्वतः जोडू शकता.

$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->UseSSL(1);

$options = GrabzItImageOptions->new();
$options->encryptionKey("UUK2Xo9OLT2dFvN0wPBGOMZRYqD6WxqFtrZK9YrG+Hg=");
$grabzIt->URLToImage("http://www.spacex.com", $options);
//needs to be decrypted
$data = $grabzIt->SaveTo();

खालील उदाहरणामध्ये क्रिप्टोग्राफिकली सुरक्षित की तयार केली जाते आणि GrabzIt वर पाठवली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर परिणाम डिक्रिप्ट करण्यासाठी वापरली जाते.

$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$grabzIt->UseSSL(true);

$encryptionKey = $grabzIt->CreateEncryptionKey();

$options = new \GrabzIt\GrabzItImageOptions();
$options->setEncryptionKey($encryptionKey);

$grabzIt->URLToImage("http://www.spacex.com", $options);
$encryptedData = $grabzIt->SaveTo();

$decryptedData = $grabzIt->Decrypt($encryptedData, $encryptionKey);

खालील उदाहरणामध्ये क्रिप्टोग्राफिकली सुरक्षित की तयार केली जाते आणि GrabzIt वर पाठवली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर परिणाम डिक्रिप्ट करण्यासाठी वापरली जाते.

grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.UseSSL(True)

encryptionKey = grabzIt.CreateEncryptionKey()

options = GrabzItImageOptions.GrabzItImageOptions()
options.encryptionKey = encryptionKey

grabzIt.URLToImage("http://www.spacex.com", options)
encryptedData = grabzIt.SaveTo()

decryptedData = grabzIt.Decrypt(encryptedData, encryptionKey)

खालील उदाहरणामध्ये क्रिप्टोग्राफिकली सुरक्षित की तयार केली जाते आणि GrabzIt वर पाठवली जाते, नंतर कॅप्चर एनक्रिप्ट करण्यासाठी वापरली जाते. हीच एन्क्रिप्शन की नंतर परिणाम डिक्रिप्ट करण्यासाठी वापरली जाते.

grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
grabzIt.use_ssl(true)

encryptionKey = grabzIt.create_encryption_key()

options = GrabzIt::ImageOptions.new()
options.encryptionKey = encryptionKey

grabzIt.url_to_image("http://www.spacex.com", options)
encryptedData = grabzIt.save_to()

decryptedData = grabzIt.decrypt(encryptedData, encryptionKey)

GrabzIt चे कॅप्चर एन्क्रिप्शन कसे कार्य करते

हे मार्गदर्शक अतिशय तांत्रिक आहे आणि विकासकांना आमची एन्क्रिप्शन कशी कार्य करते हे समजण्यास मदत करणे हा आहे. पर्ल डेव्हलपरसाठी याचा विशेष उपयोग झाला पाहिजे, कारण भाषेमध्ये ओपन सोर्स पर्ल पॅकेज नाही ज्यासाठी ओपन एसएसएल सारख्या थर्ड पार्टी टूल्सची पूर्णता किंवा इन्स्टॉलेशन आवश्यक नसते.

एनक्रिप्टेड कॅप्चर 256 बिट प्रगत एन्क्रिप्शन स्टँडर्ड (AES) एन्क्रिप्शन वापरते. हे सायफर ब्लॉक चेनिंग (CBC) ब्लॉक सायफर मोड ऑफ ऑपरेशन देखील वापरते.

GrabzIt साठी कॅप्चर एनक्रिप्ट करण्यासाठी बेस 64 एन्क्रिप्शन की जी 44 अक्षरांची लांबी ऑप्शन ऑब्जेक्टवर पास करणे आवश्यक आहे. ही एनक्रिप्शन की तयार करण्यासाठी तुम्ही 32 यादृच्छिक क्रिप्टोग्राफिकली सुरक्षित बाइट्स निवडल्या पाहिजेत. हे नंतर बेस 64 वर एन्कोड केले जावे. ते क्रिप्टोग्राफिकदृष्ट्या सुरक्षित बाइट्स असल्याने त्यांचा अंदाज लावणे कठीण होईल आणि त्यामुळे क्रॅक करणे कठीण होईल.

जेव्हा GrabzIt ला एन्क्रिप्शन कीसह कॅप्चर विनंती प्राप्त होते, तेव्हा कॅप्चर एनक्रिप्ट केले जाते आणि इनिशिएलायझेशन व्हेक्टर (IV) फाइलच्या सुरुवातीला घातला जातो. हा IV 16 बाइट लांब आहे आणि डिक्रिप्शन करण्यापूर्वी फाइलच्या समोरून काढणे आवश्यक आहे. डिक्रिप्टिंग सक्षम करण्यासाठी IV देखील AES अल्गोरिदमला पास करणे आवश्यक आहे. जेव्हा कॅप्चर एनक्रिप्ट केले जाते तेव्हा फाईलमध्ये कोणतेही पॅडिंग जोडले जात नाही, त्यामुळे पॅडिंग डिक्रिप्ट करताना अक्षम करणे आवश्यक आहे.

लक्षात ठेवा तुम्ही आमच्या विद्यमान क्लायंट API पैकी एकामध्ये सुधारणा केली असेल किंवा पूर्णपणे नवीन भाषेसाठी तुम्ही ती समुदायासह सामायिक करू शकता github.