Các dịch vụ như bit.ly, tinyurl nhận URL dài, mã hóa và trả về URL ngắn. Khi mở URL ngắn, giải mã ngược về URL gốc.
Cần viết hai hàm:
encrypt() -- nhận URL gốc, trả về URL ngắn duy nhất.
decrypt() -- nhận URL ngắn, không biết URL gốc, chuyển về URL gốc.
Ví dụ
Mã thực hiện:
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);
Kết quả
Kết quả in ra console:
https://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA== https://developer.mozilla.org/en-US/docs/Web/JavaScript