我查看了 Boost Serialization 和 Cereal 库的文档,但没有找到任何具体的内容。我想知道是否可以对序列化数据进行完整性检查。我不是在谈论安全方面,但如果出于任何原因保存的文件损坏,则加载的数据可能完全错误。这些库中是否有关于这方面的支持?我想自己实现类似的东西,但是两个库的加载阶段都存在问题:
template<class Archive>
void load(Archive& ar) {
//checksum here??
ar >> mydata;
}
为了计算校验和,我需要读取所有数据。但是,对于这两个库,我无法从存档中提取任何内容,我只能填写类属性,希望所有内容都加载没有错误,然后我可以计算校验和。我想在加载类属性之前计算校验和。可能吗?