我正在尝试将 MD5 哈希的结果打印到控制台,并且它大部分都在工作。为了确保正确性,我使用了在线 MD5 计算器来比较结果。大多数字符是相同的,但我的中缺少一些字符,它们都是前导零。
让我解释一下。结果是一个 16 字节的 unsigned char *。我逐个打印这些字节。每个字节在屏幕上打印两个字符。但是,如果这两个字符中的第一个字符是零,则它不会打印零。
printk("%x", result);
结果是 unsigned char* 类型。我的格式正确还是遗漏了什么?
最佳答案
使用 "%02x"
。
这两个意味着您总是希望输出为(至少)两个字符宽。
零表示如果需要填充,则使用零而不是空格。
https://stackoverflow.com/questions/12062916/