準備編碼和解碼演算法以縮短 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP