java - 如何在 Java 中使用 DES(CBC 模式)加密序列化对象?

标签 java serialization encryption des

我正在读这个article关于序列化。

这是我第一次看到加密序列化对象。 我试图加密一些可序列化的对象,然后将它们保存到一个文件中。 但是本文的示例使用了 ECB 模式,该模式已知会泄露有关加密明文的信息。我想知道,如何加密序列化对象 使用 CBC 而不是 ECB 模式?

为了使用 CBC,需要一个初始 vector 。该 vector 必须与序列化对象一起保存,但如果该 vector 被加密,那么我们就无法找到该 vector 来解密该对象。

此外,是否可以说初始 vector 将在保存可序列化对象的文件中以明文形式保存。但是这样文件不会被销毁吗?

使用 CBC 模式的示例将非常有用。

最佳答案

有一个不错的 SO 问答 about using 3DES here . IV 是密码/ key 的摘要。那里引用的解决方案可以通过适当的序列化机制扩展到 ByteArrayOutputStream 或直接到/从 FileOutputStream

(无论如何都不是专家,但已经指出了 SO 上的内容......)

关于java - 如何在 Java 中使用 DES(CBC 模式)加密序列化对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975843/

相关文章:

java - 基本多 socket 程序

android - 在android中将对象从一个应用程序传递到另一个应用程序

源代码公开时的安全性

java - 将 CMIS 结果限制从 100 增加到 1000

java - 如何在基于 Ubuntu 的 Linux 上安装 SIGAR?

Java - 序列化对象内的序列化对象的问题

security - 就安全性而言,散列和加密的顺序有什么区别吗?

windows - 函数返回不同的结果

java - 在 Firestore 中获取服务器时间戳时出错

java - readObject/writeObject 在序列化中的使用