Я использую ActiveSupport::MessageEncryptor
(https://api.rubyonrails.org/v5.2.3/classes/ActiveSupport/MessageEncryptor.html#method-i-encrypt_and_sign) для хранения зашифрованного значения в базе данных.
Проблема в том, что у меня длина поля по умолчанию равна varchar(255)
, а втест, у меня было 4-буквенное сообщение, которое было 306
символов.
Мне просто нужно знать, какой предел мне нужен для моего поля varchar, чтобы гарантировать, что я могу безопасно использовать этот метод шифрованияперед сохранением в базу данных?
Я искал максимум и минимум, и лучшее, что я смог найти, был абстрактный анализ алгоритма шифрования по умолчанию, а не максимальное количество символов, которое он может произвести в зашифрованном сообщении.
Обновление: вот код, который я использую:
key_base = Rails.application.secrets.secret_key_base
ActiveSupport::MessageEncryptor.new(key_base, key_base)
crypt.encrypt_and_sign("My Test String")
Возможно ли, что мне придется использовать другой шифр для получения более предсказуемой длины?