ToolJet/app/services/encryption_service.rb
2021-04-29 12:11:23 +05:30

26 lines
520 B
Ruby

class EncryptionService
KEY = ActiveSupport::KeyGenerator.new(
ENV.fetch('SECRET_KEY_BASE')
).generate_key(
ENV.fetch('ENCRYPTION_SERVICE_SALT'),
ActiveSupport::MessageEncryptor.key_len
).freeze
private_constant :KEY
delegate :encrypt_and_sign, :decrypt_and_verify, to: :encryptor
def self.encrypt(value)
new.encrypt_and_sign(value)
end
def self.decrypt(value)
new.decrypt_and_verify(value)
end
private
def encryptor
ActiveSupport::MessageEncryptor.new(KEY)
end
end