如何在 C 中打印出 fread() 的值
How to print out values from fread() in C
我有一个给定的简单代码片段,它应该生成一个 128 位加密密钥。如何将值打印到控制台?
这是代码:
#include <stdio.h>
#include <stdlib.h>
#define LEN 16 // 128 bits
void main()
{
unsigned char *key = (unsigned char *) malloc(sizeof(unsigned char)*LEN);
FILE* random = fopen("/dev/urandom", "r");
fread(key, sizeof(unsigned char)*LEN, 1, random);
fclose(random);
}
更具体地说:说明说:"Print out the numbers."
生成人类可读的二进制数据通常会涉及 hex 或 base64。假设十六进制代码是可以接受的:
for (int i=0 ; i<LEN ; i++ ) {
printf("%02x", key[i]) ;
} ;
printf("\n") ;
最常用的"human readable"二进制数据表示方法是使用十六进制,其中每个数字代表4位。
for( int b = 0; b < len; b++ )
{
printf( "%2.2X ", (int)key[b] ) ;
}
我有一个给定的简单代码片段,它应该生成一个 128 位加密密钥。如何将值打印到控制台? 这是代码:
#include <stdio.h>
#include <stdlib.h>
#define LEN 16 // 128 bits
void main()
{
unsigned char *key = (unsigned char *) malloc(sizeof(unsigned char)*LEN);
FILE* random = fopen("/dev/urandom", "r");
fread(key, sizeof(unsigned char)*LEN, 1, random);
fclose(random);
}
更具体地说:说明说:"Print out the numbers."
生成人类可读的二进制数据通常会涉及 hex 或 base64。假设十六进制代码是可以接受的:
for (int i=0 ; i<LEN ; i++ ) {
printf("%02x", key[i]) ;
} ;
printf("\n") ;
最常用的"human readable"二进制数据表示方法是使用十六进制,其中每个数字代表4位。
for( int b = 0; b < len; b++ )
{
printf( "%2.2X ", (int)key[b] ) ;
}