Class: Obfuscurity::Baffler
- Inherits:
-
Object
- Object
- Obfuscurity::Baffler
- Defined in:
- lib/obfuscurity.rb
Instance Method Summary collapse
- #clarify(number) ⇒ Object
-
#initialize(params = {}) ⇒ Baffler
constructor
A new instance of Baffler.
- #obfuscate(number) ⇒ Object
Constructor Details
#initialize(params = {}) ⇒ Baffler
Returns a new instance of Baffler.
7 8 9 10 11 |
# File 'lib/obfuscurity.rb', line 7 def initialize(params = {}) @seed = params.fetch(:seed, 839712541) @max_bits = params.fetch(:max_bits, 30) check_size_of_number_space(@seed) end |
Instance Method Details
#clarify(number) ⇒ Object
20 21 22 23 |
# File 'lib/obfuscurity.rb', line 20 def clarify(number) bits = number_to_bits(number ^ @seed) bits_to_number(bits.reverse) end |
#obfuscate(number) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/obfuscurity.rb', line 13 def obfuscate(number) check_size_of_number_space(number) seed_bits = number_to_bits(@seed) xor_bits = (0 ... seed_bits.size).map { |i| number[i] ^ seed_bits[i] } bits_to_number(xor_bits) end |