class EnigmaEncrypto::Serialize
Public Class Methods
new(key)
click to toggle source
# File lib/enigma_encrypto/serialize.rb, line 5 def initialize(key) @key = key end
Public Instance Methods
action()
click to toggle source
# File lib/enigma_encrypto/serialize.rb, line 37 def action make_all_keys_positive create_original_key_array make_new_key_string end
create_original_key_array()
click to toggle source
# File lib/enigma_encrypto/serialize.rb, line 19 def create_original_key_array @new_key_array = [] 3.times do |index| key_for_next_index = key_getter(@key[index], @key[index + 1]) @key[index + 1] = key_for_next_index end @new_key_array << @key[3] end
make_all_keys_positive()
click to toggle source
# File lib/enigma_encrypto/serialize.rb, line 9 def make_all_keys_positive @key.map! do |num| num = num.to_i while num < 0 do num += 39 end "%02d" % num end end
make_new_key_string()
click to toggle source
# File lib/enigma_encrypto/serialize.rb, line 28 def make_new_key_string new_key_string = "" new_key_string << @new_key_array[0][0] new_key_string << @new_key_array[1][0] new_key_string << @new_key_array[1][1] new_key_string << @new_key_array[3][0] new_key_string << @new_key_array[3][1] end
Private Instance Methods
key_getter(key0, key1)
click to toggle source
# File lib/enigma_encrypto/serialize.rb, line 45 def key_getter(key0, key1) @key1 = key1 @count = 0 if key0[1] == key1[0] @new_key_array << key0 return key1; end while key0[1] != key1[0] do key1 = (key1.to_i + 39).to_s if key0[1] == key1[0] @new_key_array << key0 return key1 elsif key1.to_i > 99 key1 = (@key1.to_i - 39).to_s @count += 1 end if @count == 1 key0 = (key0.to_i + 39).to_s @count = 0 end end end