class Lightning::Bolt::Fuzzer
Public Class Methods
new(encoder)
click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 6 def initialize(encoder) @encoder = encoder @alphabet = alphabet() end
Public Instance Methods
random_character(size)
click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 15 def random_character(size) enigma = "" while (enigma.size < size + 1) char = @alphabet[random_number(0,@alphabet.size)] if char enigma += char end end return enigma end
random_number(min,max)
click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 11 def random_number(min,max) return SecureRandom.random_number(max-min)+min end
Private Instance Methods
alphabet()
click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 28 def alphabet charset = [] 0.upto(1112064) do |i| char = nil begin char = "" << i rescue end if !char.eql?(nil) if encodable?(char) charset.push(char.encode(@encoder)) end end end return charset end
encodable?(rotar)
click to toggle source
# File lib/lightning/bolt/fuzzer.rb, line 45 def encodable?(rotar) begin rotar.encode(@encoder) return true rescue Encoding::UndefinedConversionError return false end end