Я использую BIO для вычисления дайджеста некоторого файла с OpenSSL. Мой код выглядит следующим образом:
#include <stdio.h>
#include <string.h>
#include <openssl/evp.h>
#include <openssl/bio.h>
int main(){
BIO* bio_infile;
bio_infile = BIO_new_file("test.txt", "rb");
BIO* bio_md = BIO_new(BIO_f_md());
BIO_set_md(bio_md, EVP_sha1());
BIO* bio_outfile;
bio_outfile = BIO_new_file("dgst.txt","w");
BIO_push(bio_md, bio_outfile);
BIO_push(bio_infile, bio_md);
BIO_flush(bio_infile);
BIO_flush(bio_md);
BIO_free(bio_infile);
BIO_free(bio_md);
BIO_free(bio_outfile);
return 0;
}
Однако, когда моя программа заканчивается, я не нахожу ничего в файле dgst.txt
.
Почему?