ওয়েব ক্যাপচার এবং রূপান্তর করার সরঞ্জামসমূহ

ক্যাপচারগুলির সামগ্রী কীভাবে রক্ষা করবেন?

এনক্রিপ্ট করা ক্যাপচারগুলি

সাধারণ তথ্য সুরক্ষা নিয়ন্ত্রণ, বা জিডিপিআর ব্যবহারকারীর তথ্য সুরক্ষার মতো আইনের যুগে আগের চেয়ে গুরুত্বপূর্ণ হয়ে উঠেছে। যখন কোনও ক্যাপচার নেওয়া হয় তখন এটি ডাউনলোড করা সক্ষম করার জন্য এটি আমাদের সার্ভারে অল্প সময়ের জন্য ক্যাশে করা হয়। যদিও আমাদের সার্ভারগুলি সুরক্ষিত রয়েছে এবং আমরা অনুমতি ছাড়াই কোনও ব্যবহারকারীর ক্যাপচারগুলি পরীক্ষা করি না। ব্যক্তিগত তথ্য পরিচালনা করার সময় এটি কিছু পরিস্থিতিতে যথেষ্ট সুরক্ষা নয়।

প্রথম সম্ভাব্য উন্নতি হ'ল আপনার ক্যাশে দৈর্ঘ্য শূন্য মিনিটে পরিবর্তন করে ক্যাশে ক্যাপচারগুলি অ্যাকাউন্ট পাতা। তবে নোট করুন, এর অর্থ হ'ল ক্যাপচারটি খুব বেশি সময়ের জন্য ডাউনলোডের জন্য উপলব্ধ হবে না তাই এটি তৈরি হওয়ার সাথে সাথেই ডাউনলোড করতে হবে।

আর একটি সম্ভাব্য সুরক্ষা উদ্বেগ আমাদের সংবেদনশীল ডেটা প্রেরণের আসল প্রক্রিয়া। এই ডেটা সুরক্ষিত করার জন্য আপনার প্রথমে উচিত এসএসএল সক্ষম করুন, তারপরে একবার আমরা ডেটা গ্রহণ করি এবং এটি প্রক্রিয়াজাত হয়, যা খুব দ্রুত ঘটে যায়, কোনও সুরক্ষা লঙ্ঘন না হয় তা নিশ্চিত করার জন্য এটি আমাদের সিস্টেম থেকে স্বয়ংক্রিয়ভাবে মুছে ফেলা হবে।

পিডিএফ বা ডওএক্সএক্স ক্যাপচারগুলির মাধ্যমে আরও সুরক্ষা যুক্ত করা যেতে পারে নথি সুরক্ষিত পাসওয়ার্ড। এটি নিশ্চিত করে যে সঠিক ব্যবহারকারীদের মধ্যে কেবল সেই ব্যবহারকারীরা সুরক্ষিত ফাইল অ্যাক্সেস করতে পারবেন।

তবে, যদি আপনি খুব সংবেদনশীল তথ্য যেমন হাসপাতালের রেকর্ড ইত্যাদি ক্যাপচার করেন এবং অতিরিক্ত স্তরের সুরক্ষা চান তবে ফলস্বরূপ ক্যাপচারগুলি নিজেরাই এনক্রিপ্ট করতে পারেন। এটি করার জন্য আপনি প্রতিটি অনুরোধের সাথে একটি এনক্রিপশন কী উল্লেখ করেন, এই কীগুলি গ্র্যাবজিট দ্বারা সংরক্ষণ করা হয় না। এই কীটি তথ্য রক্ষা ক্যাপচার এনক্রিপ্ট করতে ব্যবহৃত হতে পারে। আমরা কীটি সংরক্ষণ না করে আমরা আপনাকে এনক্রিপ্ট করা ক্যাপচারগুলি পুনরুদ্ধার করতে সহায়তা করতে পারি না। একবার আপনি ক্যাপচারটি পেয়ে গেলে ডিক্রিপ্ট করার জন্য আপনি আগে তৈরি করা কীটি ব্যবহার করুন।

নীচের উদাহরণে একটি ক্রিপ্টোগ্রাফিক সুরক্ষিত কী তৈরি করা হয় এবং গ্র্যাজআইটিতে প্রেরণ করা হয়, এটি ক্যাপচারটি এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। এই একই এনক্রিপশন কীটি ফলাফলটি ডিক্রিপ্ট করার জন্য ব্যবহৃত হয়।

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);

নীচের উদাহরণে একটি ক্রিপ্টোগ্রাফিক সুরক্ষিত কী তৈরি করা হয় এবং গ্র্যাজআইটিতে প্রেরণ করা হয়, এটি ক্যাপচারটি এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। এই একই এনক্রিপশন কীটি ফলাফলটি ডিক্রিপ্ট করার জন্য ব্যবহৃত হয়।

জাভা 6, 7 এবং 8 এর সাথে এনক্রিপ্ট করা ক্যাপচারগুলি ব্যবহার করার জন্য দয়া করে জাভা ক্রিপ্টোগ্রাফি এক্সটেনশন (জেসিই) সীমাহীন শক্তি এখতিয়ার নীতি ফাইলগুলি ইনস্টল করুন into জাভা ইনস্টলেশন ফোল্ডারের সমস্ত / জেআর / লিব / সুরক্ষা / ফোল্ডারগুলি।

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);

নীচের উদাহরণে একটি ক্রিপ্টোগ্রাফিক সুরক্ষিত কী স্বয়ংক্রিয়ভাবে তৈরি হয়ে গ্র্যাবিজআইটিতে প্রেরণ করা হয়, এটি ক্যাপচারটি এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। এই একই এনক্রিপশন কীটি তখন ড্যাটুরিউ পদ্ধতিতে সত্য পাস করে ফলাফলটি স্বয়ংক্রিয়ভাবে ডিক্রিপ্ট করতে ব্যবহৃত হয়, যা পরে কলব্যাক পদ্ধতিতে পড়া যায়।

<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.4.7/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>

নীচের উদাহরণে একটি ক্রিপ্টোগ্রাফিক সুরক্ষিত কী তৈরি করা হয় এবং গ্র্যাজআইটিতে প্রেরণ করা হয়, এটি ক্যাপচারটি এনক্রিপ্ট করার জন্য ব্যবহৃত হয়। এই একই এনক্রিপশন কীটি ফলাফলটি ডিক্রিপ্ট করার জন্য ব্যবহৃত হয়।

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);
}); 	

দুর্ভাগ্যক্রমে পার্ল স্থানীয়ভাবে এএস এনক্রিপশনটি ডিক্রিপ্ট করতে পারে না এবং তার জন্য বাহ্যিক এক্সিকিউটেবল বা সি সংকলন প্রয়োজন। অতএব আমরা আমাদের পার্ল এপিআইতে এই কার্যকারিতাটি যুক্ত করি নি এর পরিবর্তে আপনি নীচের গাইড ব্যবহার করে এই কার্যকারিতাটি নিজে যুক্ত করতে পারেন।

$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 = 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 = 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::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)

গ্র্যাবজিট-এর ক্যাপচার এনক্রিপশন কীভাবে কাজ করে

এই গাইডটি খুব প্রযুক্তিগত এবং আমাদের এনক্রিপশন কীভাবে কাজ করে তা বিকাশকারীদের বুঝতে সহায়তা করার লক্ষ্য। পার্ল বিকাশকারীদের এটির বিশেষ ব্যবহার হওয়া উচিত, কারণ ভাষার কোনও ওপেন সোর্স পার্ল প্যাকেজ নেই যা ওপেন এসএসএল এর মতো তৃতীয় পক্ষের সরঞ্জামগুলির সমাপ্তি বা ইনস্টলেশন প্রয়োজন হয় না।

এনক্রিপ্ট করা ক্যাপচারগুলি 256 বিট অ্যাডভান্সড এনক্রিপশন স্ট্যান্ডার্ড (AES) এনক্রিপশন ব্যবহার করে। এটি একটি সাইফার ব্লক চেইনিং (সিবিসি) ব্লক সাইফার মোড অপারেশনও ব্যবহার করে।

গ্র্যাবসআইটি ক্যাপচারটি এনক্রিপ্ট করার জন্য একটি বেস এক্সএনএমএক্সএক্স এনক্রিপশন কী যা 64 অক্ষর দীর্ঘ অপশন অবজেক্টে পাস করতে হবে। এই এনক্রিপশন কীটি তৈরি করতে আপনার 44 এলোমেলো ক্রিপ্টোগ্রাফিক সুরক্ষিত বাইট নির্বাচন করা উচিত। এরপরে এটি 32 বেসে এনকোড করা উচিত। তারা ক্রিপ্টোগ্রাফিকভাবে সুরক্ষিত বাইট হিসাবে তাদের ভবিষ্যদ্বাণী করা কঠিন এবং তাই ক্র্যাক করা আরও কঠিন।

যখন গ্র্যাবজিট একটি এনক্রিপশন কী সহ ক্যাপচারের অনুরোধ পায়, তখন ক্যাপচারটি এনক্রিপ্ট করা হয় এবং ফাইলের শুরুতে আরম্ভকরণ ভেক্টর (আইভি) sertedোকানো হয়। এই চতুর্থটি 16 বাইট দীর্ঘ এবং ডিক্রিপশন করার আগে ফাইলের সামনে থেকে সরানো দরকার। ডিক্রিপ্টিং সক্ষম করতে IV অবশ্যই AES অ্যালগরিদমে পাস করতে হবে। যখন কোনও ক্যাপচার এনক্রিপ্ট করা থাকে তখন ফাইলটিতে কোনও প্যাডিং যুক্ত হয় না তাই ডিক্রিপটিং প্যাডিং অক্ষম করা দরকার।

মনে রাখবেন আপনি যদি আমাদের বিদ্যমান ক্লায়েন্টের এপিআই এর কোনওটির জন্য উন্নতি তৈরি করে থাকেন বা সম্পূর্ণ নতুন ভাষার জন্য আপনি সম্প্রদায়ের সাথে ভাগ করে নিতে পারেন GitHub.