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

การเข้ารหัสสตริงโดยใช้ Caesar Cipher ใน JavaScript


อัลกอริทึมการเข้ารหัสซีซาร์

อัลกอริทึม Caesar Cipher เป็นหนึ่งในเทคนิคการเข้ารหัสที่ง่ายและเป็นที่รู้จักมากที่สุด เป็นรหัสทดแทนประเภทหนึ่งซึ่งแต่ละตัวอักษรในข้อความธรรมดาจะถูกแทนที่ด้วยตัวอักษรบางตำแหน่งที่แน่นอนตามตัวอักษร

ตัวอย่าง

ด้วยการเลื่อนไปทางซ้ายเป็น 3 D จะถูกแทนที่ด้วย A, E จะกลายเป็น B เป็นต้น เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับสตริงในการเข้ารหัสเป็นอาร์กิวเมนต์แรกและจำนวนกะเป็นอาร์กิวเมนต์ที่สอง

จำนวนกะสามารถเป็นจำนวนเต็มบวกหรือลบได้ (การเลื่อนค่าบวกหมายถึงการเลื่อนไปทางขวาในขณะที่ค่าลบไปซ้าย)

ตัวอย่าง

ต่อไปนี้เป็นรหัส -

const str = 'thisIsAString';
const getMap = (legend, shift) => {
   return legend.reduce((charsMap, currentChar, charIndex) => {
      const copy = { ...charsMap };
      let ind = (charIndex + shift) % legend.length;
      if (ind < 0) {
         ind += legend.length;
      };
      copy[currentChar] = legend[ind];
      return copy;
   }, {});
};
const encrypt = (str, shift = 0) => {
   const legend = 'abcdefghijklmnopqrstuvwxyz'.split('');
   const map = getMap(legend, shift);
   return str
   .toLowerCase()
   .split('')
   .map(char => map[char] || char)
   .join('');
};
console.log(encrypt(str, 6));

ผลลัพธ์

ต่อไปนี้เป็นผลลัพธ์บนคอนโซล -

znoyoygyzxotm