diff --git a/kenna_kdi_importer/subdomain_generator.rb b/kenna_kdi_importer/subdomain_generator.rb new file mode 100644 index 0000000..17ccdc7 --- /dev/null +++ b/kenna_kdi_importer/subdomain_generator.rb @@ -0,0 +1,24 @@ +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