Napisz program który poprosi o wpisanie klucza kodowania i podczas wpisywania wiadomości będzie w "locie" kodował kolejne znaki. (JavaScript)

Odpowiedź :

Program działa na małe litery

Poniżej rozpisuje tylko skrypt (nie można wysyłać w odpowiedzi html).

Html wysyłam w zdjęciu w załączniku.

       function szyfruj()

       {

           let tekst = document.getElementById("wiadomosc").value

           let szyfr = ""

           //pobieramy wartość z inputa o id "klucz" a następnie zmieniamy go na int

           //%26 zwróci liczbę od 0 do 25 - inne przesunięcia nie mają sensu (a+26 = a+52 = ... = a itp.)

           //|| 0 to wartość domyślna - jeżeli użytkownik nie poda żadnej wartości klucza to właśnie taką wartość przyjmie klucz

           //|| ... przy przypisywaniu jest wykonywane przy próbie przypisania takich wartości jak null czy NaN

           let klucz = parseInt( document.getElementById("klucz").value ) % 26 || 0

           for( let znak of tekst )

           {

               //charCodeAt zwraca kod aktualnego znaku wg. ASCII ("0" = 48, "1" = 49, ..., "A" = 65, "B" = 66, ..., "a" = 97, "b" = 98, ...)

               //do kodu liczby dodajemy klucz

               let akt = znak.charCodeAt(0) + klucz

               //jeżeli kod liczby jest większy od 112 (od z) to należy odjąć 26 - czyli ilość liter

               if ( akt > 122 )

                   akt -= 26

               szyfr += String.fromCharCode(akt)

           }

           document.getElementById("szyfr").innerHTML = szyfr

       }

Zobacz obrazek Pawicraft