instance method encrypt

Ruby on Rails 7.2.3

Since v7.0.10

Available in: v7.0.10 v7.1.6 v7.2.3 v8.0.4 v8.1.2

Signature

encrypt(clear_text)

No documentation comment.

Parameters

clear_text req
Source
# File activerecord/lib/active_record/encryption/cipher/aes256_gcm.rb, line 34
        def encrypt(clear_text)
          # This code is extracted from +ActiveSupport::MessageEncryptor+. Not using it directly because we want to control
          # the message format and only serialize things once at the +ActiveRecord::Encryption::Message+ level. Also, this
          # cipher is prepared to deal with deterministic/non deterministic encryption modes.

          cipher = OpenSSL::Cipher.new(CIPHER_TYPE)
          cipher.encrypt
          cipher.key = @secret

          iv = generate_iv(cipher, clear_text)
          cipher.iv = iv

          encrypted_data = clear_text.empty? ? clear_text.dup : cipher.update(clear_text)
          encrypted_data << cipher.final

          ActiveRecord::Encryption::Message.new(payload: encrypted_data).tap do |message|
            message.headers.iv = iv
            message.headers.auth_tag = cipher.auth_tag
          end
        end

Defined in activerecord/lib/active_record/encryption/cipher/aes256_gcm.rb line 34 · View on GitHub · Improve this page · Find usages on GitHub

Defined in ActiveRecord::Encryption::Cipher::Aes256Gcm

Type at least 2 characters to search.

↑↓ navigate · open · esc close