Подробности зависят от поставщика. Справочное руководство JCA гласит:
(Создание объекта шифрования) Если не указан режим или заполнение, используются значения по умолчанию для режима и схемы заполнения, специфичные для поставщика. Например, поставщик SunJCE использует ECB в качестве режима по умолчанию, а PKCS5Padding в качестве схемы заполнения по умолчанию для шифров DES, DES-EDE и Blowfish. Это означает, что в случае с поставщиком SunJCE: Cipher.getInstance ("DES") и Cipher.getInstance ("DES / ECB / PKCS5Padding") являются эквивалентными операторами.
Я бы всегда использовал полную форму (алгоритм / режим / заполнение) не только потому, что я считаю, что пропускать такие «детали» реализации, является плохой практикой, но и для получения зашифрованного текста, независимого от выбранного провайдера. (обычно шифруется для хранения / передачи, тогда нельзя быть уверенным, что тот же поставщик будет использоваться позже / на другом конце).