Ответы пользователя по тегу Шифрование
  • Как написать функцию шифрования методом подстановки encode?

    @AbramovKS
    function encode(text, openAlph, secureAlph) {
        let result = ""
        text = text.split("") //превращаем строку в массив
         text.forEach(char => { //бежим по массиву
            let upper = false
            if(char != char.toLowerCase()){ //превращаем в строчную и запоминаем
                upper = true
                char = char.toLowerCase()
            }
            
            if(char.match(/^[A-Za-z]$/)){ 
                let oIndex = openAlph.indexOf(char) //индекс в открытом алфавите алфавите
                if( oIndex == -1){ //если индекс не нашелся
                    throw new Error('Не найден символ "'+char+'" в открытом алфавите'); 
                } 
                if( !secureAlph[oIndex] ){
                    throw new Error('Не найден индекс "'+oIndex+'" в закрытом алфавите'); 
                }
                char = secureAlph[oIndex] //по индексу берем букву в закрытом алфавите 
            } 
            if(upper){
                char = char.toUpperCase()
            }
            result += char
         }); 
      return result;
    }
    Ответ написан
    1 комментарий