OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
checksum Class Reference

#include <checksum.h>

Public Member Functions

std::string compute_checksum (std::string file)
std::list< std::tuple< std::string, std::string > > dump_list ()

Private Attributes

std::list< std::tuple< std::string, std::string > > checksum_list

Detailed Description

Definition at line 41 of file checksum.h.

Member Function Documentation

◆ compute_checksum()

std::string checksum::compute_checksum ( std::string file)

Definition at line 25 of file checksum.cpp.

25 {
26 std::ifstream input_file(file, std::ios::binary);
27
28 if (!input_file) {
29 std::cerr << "Error opening file: " << file << std::endl;
30 checksum_list.push_back(std::make_tuple(file, "XXXXXXXXXXXXXXXX"));
31 return "XXXXXXXXXXXXXXXX";
32 }
33
34 md5_state_t state;
35 md5_init(&state);
36
37 char buffer[BUFFERSIZE];
38 int cont=1;
39
40 while ( cont == 1){
41 input_file.read(buffer, BUFFERSIZE);
42 int count = input_file.gcount();
43 md5_append(&state, ( md5_byte_t *)buffer, count);
44 if ( count < BUFFERSIZE){
45 cont=0;
46 }
47 }
48 input_file.close();
49
50 unsigned char digest[16];
51 md5_finish(&state, digest);
52
53 std::ostringstream formatted_line;
54 for (int i = 0; i < 16; ++i) {
55 formatted_line << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(digest[i]);
56 }
57 checksum_list.push_back(std::make_tuple(file, formatted_line.str()));
58 return formatted_line.str();
59}
#define BUFFERSIZE
Definition checksum.h:39
std::list< std::tuple< std::string, std::string > > checksum_list
Definition checksum.h:43

◆ dump_list()

std::list< std::tuple< std::string, std::string > > checksum::dump_list ( )

Definition at line 62 of file checksum.cpp.

62 {
63 std::list <std::tuple< std::string, std::string>> checksum_list_tmp;
64 for (const auto& entry : checksum_list) {
65 checksum_list_tmp.push_back(entry);
66 }
67 return checksum_list_tmp;
68}

Field Documentation

◆ checksum_list

std::list<std::tuple< std::string, std::string> > checksum::checksum_list
private

Definition at line 43 of file checksum.h.


The documentation for this class was generated from the following files: