Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 URL 단축을 위한 인코딩 및 디코딩 알고리즘 준비

<시간/>

우리는 종종 bit.ly 및 tinyurl과 같은 서비스를 통해 모든 URL을 가져오고(보통 길이가 하나 더 큼) 이에 대해 일부 암호화 알고리즘을 수행하고 매우 짧은 URL을 반환합니다. 그리고 유사성은 우리가 그 작은 URL을 열려고 시도할 때 다시 일부 암호 해독 알고리즘을 실행하고 짧은 URL을 원본 URL로 변환하여 링크를 엽니다.

우리도 같은 임무를 수행해야 합니다. 우리는 실제로 두 가지 함수를 작성해야 합니다 -

  • 암호화() --> 원래 URL을 가져와서 우리에게 짧은 고유 URL을 반환합니다.

  • 복호화() --> 짧은 url을 가져오고 원래 url에 대해 미리 알지 못하고 원래 url로 변환합니다.

예시

이에 대한 코드는 -

 const url ='https://developer.mozilla.org/en-US/docs/Web/JavaScript'; const 암호화 =(longUrl) => { const encodeUrl =Buffer.from(longUrl, '바이너리') .toString('base64'); return "https://mydemo.com/" + encodingUrl;};const 암호 해독 =function(shortUrl) { letcodedUrl =shortUrl.split('mydemo.com/')[1]; return Buffer.from(encodedUrl, 'base64').toString();}; const 암호화 =암호화(url); const 암호 해독 =암호 해독(암호화); 콘솔.로그(암호화); 콘솔.로그(암호 해독); 

출력

콘솔의 출력은 -

https://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA==https://developer.mozilla.org/en-US/docs/Web