Могу ли я использовать один и тот же объект Cipher
для нескольких методов, поскольку аргументы метода getInstance
и init
не изменяются?Является ли объект Cipher повторно используемым?
Например, предположим, что несколько частей приложения используют метод decrypt
в классе утилиты. Все переданные зашифрованные значения генерируются с использованием одного и того же ключа и алгоритма. Итак, могу ли я повторно использовать тот же объект Cipher
?
Действительно ли стоит беспокоиться о нескольких творениях Cipher
(что может привести к созданию KeySpec
, SecretKey
объектов)?
Спасибо за ответ. Просто чтобы подтвердить, вы имеете в виду один вызов init() для каждого doFinal()? – Firefox
Так как Javadocs for doFinal() четко заявляет: «По завершении этот метод сбрасывает этот объект шифрования до состояния, в котором он находился, когда ранее инициализировался посредством вызова init. То есть объект сбрасывается и доступен для шифрования или дешифрования (в зависимости от режима работы, который был указан в вызове init) больше данных. " –
GregS правильный. Этот ответ неверен. К сожалению, мастера stackoverflow не позволят мне отменить мою ошибочную позицию, так как теперь она «заблокирована». Плохие манеры выбора дизайна. – Nemi