class CryptoToolchain::Tools::MT19937SeedRecoverer

Attributes

extracted[R]
finish[R]
start[R]

Public Class Methods

new(extracted, start: default_start, finish: Time.now.to_i) click to toggle source
# File lib/crypto_toolchain/tools/mt_19937_seed_recoverer.rb, line 4
def initialize(extracted, start: default_start, finish: Time.now.to_i)
  @extracted = extracted
  @start = start
  @finish = finish
end

Public Instance Methods

default_start() click to toggle source

One hour ago

# File lib/crypto_toolchain/tools/mt_19937_seed_recoverer.rb, line 22
def default_start
  Time.now.to_i - (3600)
end
execute() click to toggle source
# File lib/crypto_toolchain/tools/mt_19937_seed_recoverer.rb, line 10
def execute
  (start..finish).each do |seed|
    if CryptoToolchain::Utilities::MT19937.new(seed).extract == extracted
      return seed
    end
  end
  raise RuntimeError, "Did not find the seed; consider expanding start and finish"
end