给出变量enc_out作为AES256加密算法的输出,以及函数:
static void hex_print(const void* pv, size_t len)
{
const unsigned char * p = (const unsigned char*)pv;
if (NULL == pv)
printf("NULL");
else
{
size_t i = 0;
for (; i<len;++i)
printf("%02X ", *p++);
}
printf("\n");
}
哪个用于以十六进制打印输出AES256加密,如何更改以上功能以将十六进制输出到文件?
答案 0 :(得分:2)
使用https://github.com/staudenmeir/eloquent-json-relations代替printf()
,并传递附加的FILE *
参数:
static void hex_print(FILE *out, const void* pv, size_t len)
{
// ...
fprintf(out, "%02X ", *p++);
// ...
调用此函数时,请将打开的FILE *
传递给out
。您还可以传递stdout
或stderr
,这样无论如何都会更加灵活。