Java加密序列化消息
Posted
技术标签:
【中文标题】Java加密序列化消息【英文标题】:Java encrypt serialized messages 【发布时间】:2021-08-07 16:04:39 【问题描述】:我试图加密我系统中参与者之间的通信。我们想加密多个 java 类,所以我们决定在加密之前对它们进行序列化 但是,在我们的接收者中解密时,无法知道我们需要将解密数据反序列化到哪个对象。有没有一种方法可以在不匹配字符串的情况下查看序列化数据的类。
【问题讨论】:
所以我们决定在加密之前对它们进行序列化 - 你是怎么做到的? java通过例如在序列化中烘焙ObjectOutputStream
(希望不是,那个不是很好),通过杰克逊,gson,...哪一个?
我们使用这里引用的akka序列化:doc.akka.io/docs/akka/2.5.32//serialization.html
【参考方案1】:
正如 akka 文档所述,您可以指定一个通用超类。
如果此处不适合,请将所有通信封装到单个“信封”类中,然后您始终知道要反序列化为的类型:信封。
例如如果你有时发送一个 j.l.String 对象,有时发送一个 com.foo.dirac.coolproject.Matrix 类,是的,现在你不知道要反序列化成什么。要解决这个问题,请创建 com.foo.dirac.coolproject.Envelope,并将您发送的任何内容“包装”到其中一个中,然后始终反序列化为一个 Envelope。
【讨论】:
以上是关于Java加密序列化消息的主要内容,如果未能解决你的问题,请参考以下文章
Java Card Applet 在尝试加密消息时返回 6f00