c++ - C++/Flatbuffers - 内置验证程序不工作
问题描述
看看我的代码示例:
std::vector<std::byte> body_buffer;
body_buffer.resize(10);
flatbuffers::Verifier verifier(reinterpret_cast<const uint8_t *>(body_buffer.data()), 10);
bool verify = flatbuffers::GetRoot<Vibranium::VerifyPacketRequest>(body_buffer.data())->Verify(verifier);
if(verify){
std::cout << "VERIFIED!" << std::endl;
} else {
std::cout << "NOT VERIFIED!" << std::endl;
}
我基本上是给验证者一个空的字节向量,它返回的是VERIFIED!
.
我错了还是验证器不工作?我做错了什么吗?
我的意图是向验证者提供确实有问题的数据,希望它能够捕捉到这一点。然而事实并非如此。为什么 ?
解决方案
推荐阅读
- python-3.x - Python网络刮刀不会保存图像文件
- c - 给定用户一个 3 位数字,找到并打印它的最小数字
- flutter - 如何处理这个颤振异常(未处理的异常:NoSuchMethodError:方法'findAncestorStateOfType'在null上被调用)
- php - 在 MySQL 中将 SELECT 与字段 + 变量一起使用
- sql-server - 超过推荐值时的 MAXDOP 设置
- ansible - 循环查找文件并删除它们
- git - vscode 错误:无法将引用推送到远程。尝试先运行“拉”以集成您的更改
- regex - 解析 git 历史记录并对其进行模式匹配,一旦找到匹配项,就在变量中捕获附近的值
- ssis - SSIS 2005 至 2019
- mips - how to change value at register in MIPS