定位问题2:明明打印是对的,为什么结果不对?

如下,打印时,为了方便核对,能看懂,将打印的转成16进制了。实际打印时

这样:定位的时候,发现打印是对的,但校验就是不通过

--_--  

教训

1. 打印如果要和实际的不一致,将类型也打出来,这样可以看到差别

2. 对接口多确认下,是不是人家要的就是“打印时候的那个转化过的,而不是原始的”

3. 这样的简单问题多看一下代码就发现了-------------记录下来

 

std::vector<unsigned char> result_data = sm3_hash_with_salt(data,none_salt);
std::string result(result_data.begin(), result_data.end());

MLOGE("plaintext %s plaintext_all (%s) result(%s)",plaintext.c_str(),plaintext_all.c_str(),vector_to_hex_string(result_data).c_str());

return result;

posted @ 2025-08-27 11:25  知易  阅读(5)  评论(0)    收藏  举报