Class: MobileSecrets::Obfuscator

Inherits:
Object
  • Object
show all
Defined in:
lib/src/obfuscator.rb

Instance Method Summary collapse

Constructor Details

#initialize(obfuscation_keys) ⇒ Obfuscator

Returns a new instance of Obfuscator.



4
5
6
# File 'lib/src/obfuscator.rb', line 4

def initialize obfuscation_keys
  @obfuscation_keys = obfuscation_keys
end

Instance Method Details

#deobfuscate(obfuscated_secret) ⇒ Object



8
9
10
# File 'lib/src/obfuscator.rb', line 8

def deobfuscate(obfuscated_secret)
  xor_chiper(obfuscated_secret)
end

#obfuscate(secret) ⇒ Object



12
13
14
# File 'lib/src/obfuscator.rb', line 12

def obfuscate(secret)
  xor_chiper(secret)
end

#xor_chiper(secret) ⇒ Object



16
17
18
19
20
21
22
23
# 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