Является ли объект Cipher многоразовым? - PullRequest
13 голосов
/ 27 января 2011

Могу ли я использовать один и тот же объект Cipher в нескольких методах, поскольку аргументы метода для getInstance и init не изменяются?

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

Действительно ли стоит беспокоиться о множественных созданиях Cipher (что может привести к созданию KeySpec, SecretKey объектов)?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2019

Да.

Как упомянуто в документации:

По окончании этот метод сбрасывает этот объект шифрования в состояние, в котором он находился, когда ранее был инициализирован с помощью вызова init.То есть объект сбрасывается и доступен для шифрования или дешифрования (в зависимости от режима работы, который был указан в вызове init) большего количества данных.

0 голосов
/ 28 января 2011

Вы можете повторно использовать объект шифрования, но вам нужно каждый раз инициализировать его, вызывая init () для каждой операции.

Если вы беспокоитесь о воссоздании KeySpec, вам следует сохранить его и использовать то же значениев нескольких init ().

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