Ruby password strength calculator
http://www.codeandcoffee.com/2007/06/27/how-to-make-a-password-strength-meter-like-google
class String PASSWORD_SETS = { /[a-z]/ => 26, /[A-Z]/ => 26, /[0-9]/ => 10, /[^\w]/ => 32 } def password_strength set_size = 0 PASSWORD_SETS.each_pair {|k,v| set_size += v if self =~ k} combinations = set_size ** length # assuming 1000 tries per second days = combinations.to_f / 1000 / 86400 days / 365 end end