class method self.new

Ruby on Rails 6.1.7.10

Since v2.3.18

Available in: v2.3.18 v3.0.20 v3.1.12 v3.2.22.5 v4.0.13 v4.1.16 v4.2.9 v5.2.8.1 v6.0.6 v6.1.7.10 v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

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 by OpenSSL::Cipher.ciphers. Default is ‘aes-256-gcm’.

  • :digest - String of digest to use for signing. Default is SHA1. Ignored when using an AEAD cipher like ‘aes-256-gcm’.

  • :serializer - Object serializer to use. Default is Marshal.

Parameters

secret req
sign_secret opt = nil
cipher key = nil
digest key = nil
serializer key = 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

Type at least 2 characters to search.

↑↓ navigate · open · esc close