Chúng ta thường sử dụng các dịch vụ như bit.ly và tinyurl lấy bất kỳ url nào và (thường là một url có độ dài lớn hơn), thực hiện một số thuật toán mã hóa trên nó và trả về một url rất ngắn. Và tương tự khi chúng tôi cố gắng mở url nhỏ đó, nó lại chạy một số thuật toán giải mã trên đó và chuyển đổi url ngắn thành url ban đầu sẽ mở ra liên kết cho chúng tôi.
Chúng tôi cũng được yêu cầu thực hiện nhiệm vụ tương tự. Chúng tôi thực sự được yêu cầu viết hai hàm -
-
mã hóa () -> nó sẽ lấy url ban đầu và trả lại cho chúng tôi một ur ngắn duy nhất.
-
giải mã () -> nó sẽ sử dụng url ngắn, sẽ không có ý tưởng trước về url ban đầu và chuyển nó thành url ban đầu.
Ví dụ
Mã cho điều này sẽ là -
const url ='https://developer.mozilla.org/en-US/docs/Web/JavaScript';const encode =(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]; trả về Buffer.from (encodedUrl, 'base64'). toString ();}; const encised =encrypt (url); const decrypted =decrypt (được mã hóa); console.log (được mã hóa); console.log (được giải mã);Đầu ra
Và đầu ra trong bảng điều khiển sẽ là -
https://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA==https://developer.mozilla.org/en-US/docs/ScriptWpreb>