我遇到了 this article其中指出:
“规则 9:让你的类不可序列化
序列化是危险的,因为它允许攻击者获取您对象的内部状态。”
虽然我能理解作者在说什么,但为什么不能只加密任何序列化数据呢?如果允许序列化数据的序列化是不安全的,那么正确的替代方法是什么?
最佳答案
我认为作者的意思是您应该默认使您的类不可序列化。也就是说,如果您有意想要序列化您的类(class) - 那就去做吧。
至于替代方案,您可以创建对象的状态 的 json/xml 表示 - 而不会泄露实现的内部结构。
您也可以像您建议的那样加密这些位。可以在 this article 中找到有关如何使用位旋转来完成此操作的简单演示。 .
关于java - 序列化有什么不安全的地方吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545993/