Каково ограничение на количество символов в поле БД для ActiveSupport :: MessageEncryptor? - PullRequest
0 голосов
/ 22 октября 2019

Я использую 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")

Возможно ли, что мне придется использовать другой шифр для получения более предсказуемой длины?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...