准备 JavaScript 中用于缩短 URL 的编码和解码算法

javascriptweb developmentfront end technology

我们经常使用 bit.ly 和 tinyurl 等服务,它们接收任何 URL(通常长度更长),对其执行一些加密算法并返回一个非常短的 URL。类似地,当我们尝试打开该微小 URL 时,它再次对其运行一些解密算法并将短 URL 转换为原始 URL,为我们打开链接。

我们也需要执行相同的任务。我们实际上需要编写两个函数 −

  • encrypt() -> 它将接收原始 URL 并向我们返回一个简短的唯一 ur。

  • decrypt() ->它将接收短网址,但对原始网址没有任何先验知识,并将其转换为原始网址。

示例

其代码为 −

const url = 'https://developer.mozilla.org/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://developer.mozilla.org/en-US/docs/Web/JavaScript

相关文章