class MobileSecrets::Obfuscator

Public Class Methods

new(obfuscation_keys) click to toggle source
# File lib/src/obfuscator.rb, line 4
def initialize obfuscation_keys
  @obfuscation_keys = obfuscation_keys
end

Public Instance Methods

deobfuscate(obfuscated_secret) click to toggle source
# File lib/src/obfuscator.rb, line 8
def deobfuscate(obfuscated_secret)
  xor_chiper(obfuscated_secret)
end
obfuscate(secret) click to toggle source
# File lib/src/obfuscator.rb, line 12
def obfuscate(secret)
  xor_chiper(secret)
end
xor_chiper(secret) click to toggle source
# File lib/src/obfuscator.rb, line 16
def xor_chiper(secret)
  result = ""
  codepoints = secret.each_codepoint.to_a
  codepoints.each_index do |i|
      result += (codepoints[i] ^ @obfuscation_keys[i % @obfuscation_keys.size].ord).chr
  end
  result
end