class HasSecureWhatever::Encryptor
Constants
- KEY_LEN
Public Class Methods
generate_secret_key()
click to toggle source
# File lib/has_secure_whatever/encryptor.rb, line 26 def self.generate_secret_key salt = SecureRandom.random_bytes(KEY_LEN) key = ActiveSupport::KeyGenerator.new('password').generate_key(salt, KEY_LEN) [key].pack('m') end
new(key = nil)
click to toggle source
# File lib/has_secure_whatever/encryptor.rb, line 4 def initialize(key = nil) @key = nil if key @key = key.unpack('m').first else secret_key = HasSecureWhatever.config.secret_key @key = secret_key.unpack('m').first unless secret_key.nil? end if @key.nil? raise "Secret key for has_secure is not set" end @crypt = ActiveSupport::MessageEncryptor.new(@key) end
Public Instance Methods
decrypt(encrypted_value)
click to toggle source
# File lib/has_secure_whatever/encryptor.rb, line 22 def decrypt(encrypted_value) @crypt.decrypt_and_verify(encrypted_value) end
encrypt(unencrypted_value)
click to toggle source
# File lib/has_secure_whatever/encryptor.rb, line 18 def encrypt(unencrypted_value) @crypt.encrypt_and_sign(unencrypted_value) end