准备用于缩短 JavaScript 中 URL 的编码和解码算法
我们经常使用像bit.lytinyurl这样的服务,它接受任何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