#include<openssl/aes.h>#include<stdio.h>#include<stdlib.h>voidAESEncrypt(constunsignedchar*inputData, size_t dataSize,unsignedchar*outputData,constunsignedchar*key){AES_KEY aesKey;AES_set_encrypt_key(key,256,&aesKey);size_t numBlocks = dataSize /16;for(size_t i =0; i < numBlocks;++i){AES_ecb_encrypt(inputData + i *16, outputData + i *16,&aesKey, AES_ENCRYPT);}}voidAESDecrypt(constunsignedchar*inputData, size_t dataSize,unsignedchar*outputData,constunsignedchar*key){AES_KEY aesKey;AES_set_decrypt_key(key,256,&aesKey);size_t numBlocks = dataSize /16;for(size_t i =0; i < numBlocks;++i){AES_ecb_encrypt(inputData + i *16, outputData + i *16,&aesKey, AES_DECRYPT);}}intmain(){unsignedchar key[32]="1234567890abcdef1234567890abcdef";// 32 字节// Read the XML fileconstchar*filePath ="path_to_your_xml_file.xml";FILE *file =fopen(filePath,"rb");if(!file){perror("File open error");return1;}fseek(file,0,SEEK_END);long fileSize =ftell(file);fseek(file,0,SEEK_SET);unsignedchar*originalData =(unsignedchar*)malloc(fileSize);fread(originalData,1, fileSize, file);fclose(file);// Allocate memory for encrypted dataunsignedchar*encryptedData =(unsignedchar*)malloc(fileSize);AESEncrypt(originalData, fileSize, encryptedData, key);// Write encrypted data back to the filefile =fopen(filePath,"wb");if(!file){perror("File open error");return1;}fwrite(encryptedData,1, fileSize, file);fclose(file);// Clean upfree(originalData);free(encryptedData);return0;}