Represents a password line of /etc/shadow.
Constructors
new(crypto : Encryption = Encryption::PasswordLocked, salt : String | Nil = nil, hash : String | Nil = nil, days_last_change : UInt32 | Nil = nil, days_before_change : UInt32 | Nil = 0_u32, days_validity : UInt32 | Nil = 99999_u32, days_expiration_warning : UInt32 | Nil = 7_u32, days_account_disabling_after_expiration : UInt32 | Nil = nil, days_since_account_disabling : UInt32 | Nil = nil)
Sourcenew(password : String, crypto : Encryption = Encryption::SHA512, salt : String | Nil = Random::Secure.base64.rchop.rchop, days_last_change : UInt32 | Nil = (Time.utc - Time::UNIX_EPOCH).days.to_u32)
Create a new encrypted password.
SourceInstance methods
build(user : String, io : IO) : Nil
Build the password to the given io.
Sourcedays_account_disabling_after_expiration
The number of days after a password expires before the account will be disabled.
Sourcedays_account_disabling_after_expiration=(days_account_disabling_after_expiration : UInt32 | Nil)
The number of days after a password expires before the account will be disabled.
Sourcedays_before_change
The minimum number of days that must pass before the password can be changed.
Sourcedays_before_change=(days_before_change : UInt32 | Nil)
The minimum number of days that must pass before the password can be changed.
Sourcedays_expiration_warning
The number of days before password expiration during which the user is warned of the impending expiration.
Sourcedays_expiration_warning=(days_expiration_warning : UInt32 | Nil)
The number of days before password expiration during which the user is warned of the impending expiration.
Sourcedays_last_change
The number of days since January 1, 1970 (also called the epoch) that the password was last changed.
Sourcedays_since_account_disabling
The date (stored as the number of days since the epoch) since the user account has been disabled.
Sourcedays_since_account_disabling=(days_since_account_disabling : UInt32 | Nil)
The date (stored as the number of days since the epoch) since the user account has been disabled.
Sourcedays_validity
The number of days that must pass before the password must be changed.
Sourcedays_validity=(days_validity : UInt32 | Nil)
The number of days that must pass before the password must be changed.
Sourceencrypt(password : String, crypto : Algorithm = Algorithm::SHA512, salt : String | Nil = Random::Secure.base64.rchop.rchop, days_last_change : UInt32 | Nil = (Time.utc - Time::UNIX_EPOCH).days.to_u32) : UInt32
Encrypt a password. Can be used to create or update the password.
Sourceverify(password : String) : Bool
The password match the encrypted hash.
Source