misc_rbtools/kenna_kdi_importer/subdomain_generator.rb
2020-10-28 23:43:06 -05:00

24 lines
678 B
Ruby

module KennaKdi
class SubdomainGenerator
attr_accessor :tld, :base_domain
def initialize(tld, base_domain)
@tld = tld
@base_domain = base_domain
end
def perform(year, month, day)
# generating a subdomain.
# https://en.wikipedia.org/wiki/Domain_generation_algorithm
domain = ""
16.times do
year = ((year ^ 8 * year) >> 11) ^ ((year & 0xFFFFFFF0) << 17)
month = ((month ^ 4 * month) >> 25) ^ 16 * (month & 0xFFFFFFF8)
day = ((day ^ (day << 13)) >> 19) ^ ((day & 0xFFFFFFFE) << 12)
domain += (((year ^ month ^ day) % 25) + 97).chr
end
domain + base_domain + tld
end
end
end