DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
Ruby Password Strength Calculator
This method returns the password lifetime in years. Based on this:
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





