আমরা প্রায়ই bit.ly বা tinyurl এর মতো সার্ভিস দেখি যা যেকোনো বড় URL নেয়, কিছু এনক্রিপশন অ্যালগরিদম প্রয়োগ করে খুব ছোট একটি URL রিটার্ন করে। এবং যখন আমরা সেই ছোট URL খুলি, সেটি আবার ডিক্রিপশন করে মূল URL-এ রিডাইরেক্ট করে।
আমাদেরও একই কাজ করতে হবে। আমরা দুটি ফাংশন লিখব:
encrypt() — মূল URL নেবে এবং একটি ছোট یونিক URL রিটার্ন করবে।
decrypt() — ছোট URL নেবে, মূল URL সম্পর্কে কোনো পূর্ব ধারণা ছাড়া সেটিকে মূল URL-এ কনভার্ট করবে।
উদাহরণ
কোডটি নিচের মতো:
const url = 'https://developer.mozilla.org/en-US/docs/Web/JavaScript'; const encrypt = (longUrl) => { const encodedUrl = Buffer.from(longUrl, 'binary').toString('base64'); return "https://mydemo.com/" + encodedUrl; }; const decrypt = function(shortUrl) { let encodedUrl = shortUrl.split('mydemo.com/')[1]; return Buffer.from(encodedUrl, 'base64').toString(); }; const encrypted = encrypt(url); const decrypted = decrypt(encrypted); console.log(encrypted); console.log(decrypted); আউটপুট
কনসোলে আউটপুট:
https://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA== https://developer.mozilla.org/en-US/docs/Web/JavaScript