20 lines
454 B
Ruby
20 lines
454 B
Ruby
txt = "WELLDONEISBETTERTHANWELLSAID"
|
|
@left = "HXUCZVAMDSLKPEFJRIGTWOBNYQ".chars
|
|
@right = "PTLNBQDEOYSFAVZKGJRIHWXUMC".chars
|
|
|
|
def encrypt(char)
|
|
coded_char = @left[@right.index(char)]
|
|
|
|
@left.rotate!(@left.index(coded_char))
|
|
part = @left.slice!(1,13).rotate
|
|
@left.insert(1, *part)
|
|
|
|
@right.rotate!(@right.index(char)+1)
|
|
part = @right.slice!(2,12).rotate
|
|
@right.insert(2, *part)
|
|
|
|
@left[0]
|
|
end
|
|
|
|
puts txt.each_char.map{|c| encrypt(c) }.join
|