Compare commits
3 commits
b7a063ddb4
...
535629ec40
Author | SHA1 | Date | |
---|---|---|---|
535629ec40 | |||
f0be1697f9 | |||
121ed94fe6 |
3 changed files with 32 additions and 1211 deletions
|
@ -7,7 +7,7 @@ MIN_8S = 5
|
|||
def expand(set)
|
||||
cased = set + set.map(&:downcase) + set.map(&:upcase)
|
||||
spaced = cased + cased.map { _1.gsub(/\s/, ' ') } + cased.map { _1.gsub(/\s/, "\n") } + cased.flat_map do |amulet|
|
||||
20.times.map { amulet.gsub(/\s/) { rand(2).zero? ? ' ' : "\n" } }
|
||||
100.times.map { amulet.gsub(/\s/) { rand(2).zero? ? ' ' : "\n" } }
|
||||
end
|
||||
spaced + spaced.flat_map { _1.match?(/[.?!]$/) ? [_1.gsub('.', '?'), _1.gsub('?', '.')] : ["#{_1}.", "#{_1}?"] }
|
||||
end
|
||||
|
|
31
space-hash.rb
Normal file
31
space-hash.rb
Normal file
|
@ -0,0 +1,31 @@
|
|||
require 'digest'
|
||||
|
||||
def prompt(*args)
|
||||
print(*args)
|
||||
gets.chomp
|
||||
end
|
||||
|
||||
WHITESPACE = " \t\u200b\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000"
|
||||
|
||||
def doit(message, regex, limit = 10)
|
||||
return unless limit > 0
|
||||
|
||||
digest = Digest::SHA256.hexdigest message
|
||||
if regex.match? digest
|
||||
p message
|
||||
puts digest
|
||||
exit 0
|
||||
end
|
||||
|
||||
WHITESPACE.each_char do |ws|
|
||||
doit(message + ws, regex, limit - 1)
|
||||
end
|
||||
end
|
||||
|
||||
message = prompt "Message: "
|
||||
hash_regex = Regexp.new(prompt "Digest regex: ")
|
||||
|
||||
doit(message, hash_regex)
|
||||
|
||||
puts "i give up :("
|
||||
exit 1
|
Loading…
Reference in a new issue