Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

กำลังเตรียมอัลกอริทึมการเข้ารหัสและถอดรหัสสำหรับการย่อ URL ใน JavaScript


เรามักจะผ่านบริการต่างๆ เช่น bit.ly และ tinyurl ซึ่งรับ url ใด ๆ และ (มักจะยาวกว่าหนึ่งอัน) ดำเนินการอัลกอริธึมการเข้ารหัสและส่งคืน url ที่สั้นมาก และความคล้ายคลึงกันเมื่อเราพยายามเปิด url เล็ก ๆ นั้น มันจะรันอัลกอริธึมถอดรหัสอีกครั้งและแปลง URL แบบสั้นเป็น URL ดั้งเดิมซึ่งจะเปิดลิงก์ให้เรา

เรายังต้องทำงานเดียวกัน เราจำเป็นต้องเขียนสองฟังก์ชัน -

  • เข้ารหัส() --> จะใช้ URL เดิมและส่งคืน ur ที่ไม่ซ้ำแบบสั้นมาหาเรา

  • ถอดรหัส() --> จะใช้ URL แบบสั้น โดยจะไม่มีแนวคิดเกี่ยวกับ URL ดั้งเดิมมาก่อนและแปลงเป็น URL ดั้งเดิม

ตัวอย่าง

รหัสสำหรับสิ่งนี้จะเป็น −

const url ='https://developer.mozilla.org/en-US/docs/Web/JavaScript';const encrypt =(longUrl) => { const encodedUrl =Buffer.from (longUrl, 'binary') .toString('base64'); ส่งคืน "https://mydemo.com/" + encodedUrl;};const decrypt =function (shortUrl) { ให้ encodedUrl =shortUrl.split ('mydemo.com/') [1]; return Buffer.from(encodedUrl, 'base64').toString();};const encrypted =encrypt(url);const decrypted =ถอดรหัส (เข้ารหัส);console.log(encrypted);console.log(ถอดรหัส); 

ผลลัพธ์

และผลลัพธ์ในคอนโซลจะเป็น −

https://mydemo.com/aHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdA==https://developer.mozilla.org/en-US/Scripts/preWeb/Java