class method
self.new
Ruby on Rails 6.1.7.10
Since v2.3.18Signature
self.new(secret, sign_secret = nil, cipher: nil, digest: nil, serializer: nil)
Initialize a new MessageEncryptor. secret must be at least as long as the cipher key size. For the default ‘aes-256-gcm’ cipher, this is 256 bits. If you are using a user-entered secret, you can generate a suitable key by using ActiveSupport::KeyGenerator or a similar key derivation function.
First additional parameter is used as the signature key for MessageVerifier. This allows you to specify keys to encrypt and sign data.
ActiveSupport::MessageEncryptor.new('secret', 'signature_secret')
Options:
-
:cipher- Cipher to use. Can be any cipher returned byOpenSSL::Cipher.ciphers. Default is ‘aes-256-gcm’. -
:digest- String of digest to use for signing. Default isSHA1. Ignored when using an AEAD cipher like ‘aes-256-gcm’. -
:serializer- Object serializer to use. Default isMarshal.
Parameters
-
secretreq -
sign_secretopt = nil -
cipherkey = nil -
digestkey = nil -
serializerkey = nil
Source
# File activesupport/lib/active_support/message_encryptor.rb, line 136
def initialize(secret, sign_secret = nil, cipher: nil, digest: nil, serializer: nil)
@secret = secret
@sign_secret = sign_secret
@cipher = cipher || self.class.default_cipher
@digest = digest || "SHA1" unless aead_mode?
@verifier = resolve_verifier
@serializer = serializer || Marshal
end
Defined in activesupport/lib/active_support/message_encryptor.rb line 136
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActiveSupport::MessageEncryptor