Module: Shield::Password
- Defined in:
- lib/shield.rb
Constant Summary collapse
- Error =
Class.new(StandardError)
- MAX_LEN =
DOS attack fix
Excessively long passwords (e.g. 1MB strings) would hang a server.
4096
Class Method Summary collapse
Class Method Details
.check(password, encrypted) ⇒ Object
115 116 117 118 119 |
# File 'lib/shield.rb', line 115 def self.check(password, encrypted) sha512, salt = encrypted.to_s[0...128], encrypted.to_s[128..-1] Armor.compare(digest(password, salt), sha512) end |
.encrypt(password, salt = generate_salt) ⇒ Object
111 112 113 |
# File 'lib/shield.rb', line 111 def self.encrypt(password, salt = generate_salt) digest(password, salt) + salt end |