Проблема дешифрования удаления

#java #encryption #des

#java #шифрование #des

Вопрос:

Я пытаюсь понять некоторый устаревший код, где один из параметров Cipher.init равен 2. Что здесь означает 2?

 try
{
    if (key == null)
    {
        key = SecretKeyFactory.getInstance("DESede").generateSecret(new DESedeKeySpec(keyBytes));
    }

    Cipher cipher = Cipher.getInstance("DESede");
    cipher.init(2, key);
}
  

Ответ №1:

Что здесь означает 2?

Это opmode . Из Cipher класса Javadocs:

 void init(int opmode, Key key)
  

Я считаю, что 2 есть DECRYPT_MODE . Смотрите Значения постоянных полей внизу страницы.

Комментарии:

1. Я просмотрел документацию. Существует несколько режимов, как я могу узнать, какая цифра обозначает какой режим, например, 2 для ENCRYPT_MODE, 1 для DECRYPT_MODE и т. Д

2. @John — Я думаю, что это перечисление, а не значение битовой маски.