Class: Devise::Encryptable::Encryptors::Aes256
- Inherits:
-
Base
- Object
- Base
- Devise::Encryptable::Encryptors::Aes256
- Defined in:
- lib/devise_encryptable_aes/aes256.rb
Overview
Add AES encryption support for Devise
Class Method Summary collapse
- .compare(encrypted_password, password, pepper) ⇒ Object
- .decrypt(encrypted_password, pepper) ⇒ Object
- .digest(password, _stretches, salt, pepper) ⇒ Object
- .salt(_stretches) ⇒ Object
Class Method Details
.compare(encrypted_password, password, pepper) ⇒ Object
26 27 28 29 30 |
# File 'lib/devise_encryptable_aes/aes256.rb', line 26 def compare(encrypted_password, password, pepper) return false if encrypted_password.blank? decrypt(encrypted_password, pepper) == password end |
.decrypt(encrypted_password, pepper) ⇒ Object
22 23 24 |
# File 'lib/devise_encryptable_aes/aes256.rb', line 22 def decrypt(encrypted_password, pepper) ::AES.decrypt(encrypted_password, pepper) end |
.digest(password, _stretches, salt, pepper) ⇒ Object
12 13 14 15 16 |
# File 'lib/devise_encryptable_aes/aes256.rb', line 12 def digest(password, _stretches, salt, pepper) ::AES.encrypt(password, pepper, { iv: salt }) if password rescue StandardError nil end |
.salt(_stretches) ⇒ Object
18 19 20 |
# File 'lib/devise_encryptable_aes/aes256.rb', line 18 def salt(_stretches) ::AES.iv(:base_64) end |