Я использую DES-CBC. Я смущен относительно того, что cipher.init
, cipher.update
и cipher.dofinal
сделать. Я просто использую init для установки ключа и dofinal
, чтобы получить результат. Я не использую обновление. Это верно?Что делает cipher.update в java?
также Что разница в результатах при использовании UTF-8 и ASCII кодировок?
Вот мой код:
byte[] ciphertext;
Cipher enc = Cipher.getInstance("DES/CBC/PKCS5Padding");
enc.init(Cipher.ENCRYPT_MODE, new SecretKeySpec(key, "DES"), new IvParameterSpec(vector));
// Is this the complete ciphertext?
ciphertext = encrypt.doFinal(data.getbytes("UTF-8"));
Это 'byte', а не' bytes' ... –
Вы прочитали документы на ['Cipher'] (https://docs.oracle.com/javase/7/docs/api/javax/crypto/ Cipher.html)? Джавадоки должны быть полезны. –