Шифрование файла AES, openssl
Здравствуйте, у меня есть этот код:
FILE * infile = fopen(fileName,"rb");//must be open in read mode + binary assert(infile); FILE * outfile = fopen("./OutputFile.aes","w+b"); assert(outfile); while(fread(inbuffer,1,AES_BLOCK_SIZE,infile)) { AES_ecb_encrypt(inbuffer,outbuffer,&key, AES_ENCRYPT); fwrite(outbuffer,1,AES_BLOCK_SIZE,outfile); fflush(outfile); ZeroMemory(inbuffer,AES_BLOCK_SIZE); } fclose(infile); fclose(outfile);
Есть ли способ зашифровать файл без создания новой зашифрованной копии файла?
UPD: мне нужно зашифровать файл, но мне не нужно сохранять незашифрованный файл. (После шифрования мы получили только зашифрованный файл)
Заранее спасибо!
Что я уже пробовал:
UPD: мне нужно зашифровать файл, но мне не нужно сохранять незашифрованный файл. (После шифрования мы получили только зашифрованный файл)
NotPolitcallyCorrect
"без создания новой зашифрованной копии файла", наверное, что именно вы хотели сделать вместо этого? Какой смысл шифровать файл, не имея зашифрованной копии?
Member 12779871
Мне нужно зашифровать файл, но мне не нужно сохранять незашифрованный файл. (После шифрования мы получили только зашифрованный файл)
jeron1
Вы имеете в виду шифрование на месте?
Member 12779871
Да, если я правильно вас понял.
NotPolitcallyCorrect
Ладно, тогда не надо. Я не вижу здесь проблемы.
Member 12779871
Не могли бы вы изменить мой код на то, что мне нужно?
NotPolitcallyCorrect
Вам нужно, чтобы я написал ваш код для удаления файла? Почему?
NotPolitcallyCorrect
И я до сих пор не понимаю, в чем может быть ваша проблема, так как же кто-то может написать код для этого?
jeron1
Например, указать один и тот же буфер для первого и второго параметров, переданных методу шифрования? А вы пробовали? Я подозреваю, что вы можете столкнуться с некоторыми проблемами const.
jeron1
Я думаю, что он хочет иметь один буфер, передать его методу шифрования и получить тот же самый буфер обратно, но теперь содержащий зашифрованные данные. В основном переписывая оригинал с зашифрованным.