diff --git a/Ruby/xor.rb b/Ruby/xor.rb new file mode 100644 index 0000000..8fa1df3 --- /dev/null +++ b/Ruby/xor.rb @@ -0,0 +1,15 @@ +def encryptDecrypt(string) + key = ['K', 'C', 'Q'] + result = "" + codepoints = string.each_codepoint.to_a + codepoints.each_index do |i| + result += (codepoints[i] ^ key[i % key.size].ord).chr + end + result +end + +encrypted = encryptDecrypt("kylewbanks.com") +puts "Encrypted: #{encrypted}" + +decrypted = encryptDecrypt(encrypted) +puts "Decrypted: #{decrypted}"