Те, кто ответили, ответили на единственный вопрос, который вы задали: нет никаких ограничений на размер данных, которые могут быть небезопасно зашифрованы с помощью этого алгоритма.Как и все экземпляры Java Cipher
, он использует структуру init, update, doFinal
, и хотя язык Java ограничивает размер byte[]
аргументов, передаваемых или возвращаемых за один вызов, до чуть менее 2 ^ 31 (около 2 100 000 000) байтов, вы можетесделать любое количество звонков.(Для шифров secure существуют некоторые ограничения на размер данных, в зависимости от алгоритма и режима, чтобы оставаться безопасными, но поскольку этот код небезопасен для начала, он ничего не теряет, превышая размеры данных, которыеможет снизить безопасность.)
Для обработки большего количества данных потребуется время , поскольку этот шифр использует режим CBC, который не может быть распараллелен или передан при шифровании.Я не измерял, и в любом случае он будет варьироваться в зависимости от вашего оборудования и в некоторой степени от вашей версии Java, но если, например, вы хотите зашифровать 1 000 000 000 000 000 000 байт, это, вероятно, займет где-то 300 000 лет.Ваш компьютер может работать не так долго.
OTOH, так как вы хотите сохранить результат в базе данных, там почти наверняка будет некоторое ограничение.Даже если нет архитектурного ограничения или не существует эффективного ограничения, каждая база данных в конечном счете ограничена размером диска или эквивалентного хранилища, которое она может использовать, и общий объем всего хранилища в центрах обработки данных (по общему признанию, не все) оценивается приближается к 2 000 000 000 000 000 000 байтов .