Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C AES\u设置\u加密\u密钥分段错误_C_Openssl_Aes - Fatal编程技术网

C AES\u设置\u加密\u密钥分段错误

C AES\u设置\u加密\u密钥分段错误,c,openssl,aes,C,Openssl,Aes,我正在尝试使用openssl设置密钥。此代码正在生成分段错误。有人能帮忙吗 AES_KEY *aes_key; unsigned char key[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, }; unsigned char iv[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,

我正在尝试使用openssl设置密钥。此代码正在生成分段错误。有人能帮忙吗

AES_KEY *aes_key;
unsigned char key[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
};
unsigned char iv[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
};

AES_set_encrypt_key(key, 128, aes_key);
我还得到一个编译器错误,aes_键可能没有初始化,但从我看到的其他代码来看,初始化似乎没有必要

只是一个随机猜测。 试试这个:

AES_KEY aes_key;
unsigned char key[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
};
unsigned char iv[] = {
0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
};

AES_set_encrypt_key(key, 128, &aes_key);
我从未使用过OpenSSL,但可能是AES_密钥(我猜它是一个结构)的内存需要初始化。
您只声明了一个指针。

您还可以将始终由指针传递的内容声明为
AES\u KEY AES\u KEY[1]
。我觉得更方便。