2011-02-12 142 views
4

我正在讀這個關於序列化的article如何在Java中使用DES(CBC模式)加密序列化對象?

這是我第一次看到加密序列化對象。 我想加密一些可序列化的對象,然後將它們保存到一個文件中。 但文章的例子使用已知的ECB模式來揭示關於加密明文的信息。我想知道,如何通過使用CBC而不是ECB模式來加密序列化對象 ?

爲了使用CBC,需要初始向量。該向量必須與序列化對象一起保存,但是如果向量被加密,那麼我們無法找到向量來解密對象。

另外,是否可以說初始向量將被保存爲保存serialiazable對象的文件中的明文。但那麼文件不會被銷燬?

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

+3

如果你很在意安全漏洞,不使用DES - 它被打破。使用3DES或AES。 – 2011-02-12 02:04:00

回答

0

有一個體面的SO問題和答案about using 3DES here。 IV是密碼/密鑰的摘要。在那裏引用的解決方案可以通過適當的序列化機制擴展到ByteArrayOutputStream或直接從FileOutputStream

(不是以任何方式的專家,但指出什麼是對SO已經...)