Thank you to anyone who has already donated - your generous donations helped make three months of treatment possible.

My brother Nate continues to fight stage IV Hodgkin's lymphoma. He's just 31, with a wife and baby girl. They have no active income (since he's been unable to return to work), no insurance, and cannot afford the treatment he needs. Nate and his family need your help. Please consider a donation, every dollar helps. Thanks.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
REQUIRED_LENGTH  = 8
MASTER_PASSWORD  = gets.chomp

require 'digest/sha1'
require 'base64'

class String
  def compliant?
    self.length>=REQUIRED_LENGTH and self=~/[A-Z]/ and self=~/[a-z]/ and self=~/\d/ 
  end

  def monthly_passwordize(i=0)
    possible_password = Base64.encode64(Digest::SHA1.hexdigest(MASTER_PASSWORD+i.to_s+Time.now.strftime('%B%Y')))[0,REQUIRED_LENGTH]
    if possible_password.compliant? then
      possible_password
    else
      monthly_passwordize(i+1)
    end
  end
end

puts MASTER_PASSWORD.monthly_passwordize