使用enc_out将AES256 hex_print转换为hex_tofile

时间:2018-07-04 13:37:22

标签: c file

给出变量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加密,如何更改以上功能以将十六进制输出到文件?

1 个答案:

答案 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。您还可以传递stdoutstderr,这样无论如何都会更加灵活。