Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

Jednoduché šifrovanie a dešifrovanie 2

Ukážkový program Jednoduché šifrovanie a dešifrovanie textu 2 v Ruby vrátane zdrojových kódov.

class String
  def encrypt(passwd)
    self.length.times do |i|
      self[i] = (self[i].ord + passwd[i % passwd.length ].ord - ("A".ord - 1)).chr
      self[i] = (self[i].ord - ("Z".ord - "A".ord + 1)).chr if (self[i].ord > "Z".ord)
    end
    return self
  end

  def decrypt(passwd)
    self.length.times do |i|
      self[i] = (self[i].ord - (passwd[i % passwd.length ].ord - ("A".ord - 1))).chr
      self[i] = (self[i].ord + ("Z".ord - "A".ord + 1)).chr if (self[i].ord < "A".ord)
    end
    return self
  end
end


class Translator

  def input
    # zadavani vstupu
    print "Zadejte text: "
    @text = gets.upcase.strip
    print "Zadejte heslo: "
    @passwd = gets.upcase.strip
  end


  def run
    puts "Vitejte v programu sifrovani"
    puts "============================"
    option = ""
    while (!["3"].include?(option)) do
      puts "1 - sifrovat text"
      puts "2 - desifrovat text"
      puts "3 - konec"
      option = gets.strip
      case option
      when "1"
        input
        puts @text.encrypt(@passwd)
      when "2"
        input
        puts @text.decrypt(@passwd)
      end
    end
  end

end

translator = Translator.new
translator.run


 

Všetky články v sekcii
Ruby
Program pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity