準備編碼和解碼演算法以縮短 JavaScript 中的 URL


我們經常透過 bit.ly 和 tinyurl 這樣的服務來獲取任何 url(通常長度較大),對其執行一些加密演算法,並返回一個非常短的 url。當我們嘗試開啟該 tiny url 時,它會再次執行一些解密演算法,將短 url 轉換為原始 url,然後為我們開啟連結。

我們還需要執行相同的任務。我們實際上需要編寫兩個函式 -

  • encrypt() --> 它將獲取原始 url,並向我們返回一個短的唯一 url。

  • decrypt() --> 它將獲取短 url,它事先不知道原始 url,並將它轉換為原始 url。

示例

程式碼如下 -

 線上演示

const url = 'https://mdn.club.tw/en-US/docs/Web/JavaScript';
const encrypt = (longUrl) => {
   const encodedUrl = Buffer.from(longUrl, 'binary').toString('base64');
   return "http://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);

輸出

控制檯中會輸出 -

http://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA==
https://mdn.club.tw/en-US/docs/Web/JavaScript

更新時間: 03-Mar-2021

715 次觀看

開啟你的職業生涯

透過完成課程來獲得認證

開始
廣告
© . All rights reserved.