首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javax.crypto AES加密-我只需要调用doFinal吗?

javax.crypto AES加密-我只需要调用doFinal吗?
EN

Stack Overflow用户
提问于 2010-03-12 20:58:04
回答 1查看 2.8K关注 0票数 2

我想用Java做AES CBC加密。我在用javax.crypto。初始化Cipher之后,是否只需要调用清除字节上的doFinal才能正确加密它?还是我需要用update做点什么?

文档显示更新:

继续进行多部分加密或解密操作。

和doFinal

加密或解密单部件操作中的数据,或完成多部分操作。

他们所说的多部分加密到底是什么意思?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-12 21:06:57

doFinal在最后一个块中添加PKCS7 填充。所以您可以多次调用update 0,但最后一次调用应该是doFinal。多部分加密是指当数据在内存中不连续时。典型的例子是从套接字接收到的缓冲区。您设置了密码,然后开始调用update来加密或解密数据,逐块加密或解密数据,并通过追加update返回的块来构建加密/解密数据。在最后一个输入块上调用doFinal,返回的块是最后一个附加到输出数据的块。在氪星,doFinal将添加填充。在解密时,doFinal将验证并删除填充。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2435850

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档