Appearance
序列化与反序列化及JDK反序列化漏洞:Java安全之反序列化漏洞
概念
JDK序列化
- Java序列化是一种将对象转换为字节流的过程,使得对象可以在网络上传输或持久化保存。在Java中,可以通过实现Serializable接口来实现对象的序列化和反序列化
JSON序列化
- JSON序列化是一种将对象转换为JSON格式的字符串的过程,以便在网络上传输或保存到文件中。Java提供了多种JSON库,如Jackson、Gson等,可以将对象转换为JSON格式的字符串,并将其反序列化为Java对象
区别
| 序列化格式 | 序列化性能 | 序列化对象类型的范围 | 序列化数据类型 | |
|---|---|---|---|---|
| JDK序列化 | 二进制流 | 较慢 | 可以序列化Java对象 | 只能序列化Java对象 |
| JSON序列化 | 文本 | 较快 | 仅支持序列化基本数据类型和部分封装类型 | 支持不同语言之间的数据交互 |