【发布时间】:2014-11-09 02:16:41
【问题描述】:
我正在实施 DES - CBC。我对cipher.init、cipher.update 和cipher.dofinal 做了什么感到困惑。我只是使用 init 来设置密钥和dofinal 来获得结果。我不使用更新。对吗?
另外使用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上的文档? javadocs 应该会有所帮助。
标签: java cryptography aes des cbc-mode