I would like to use the TMD5 ROOT class to calculate MD5 checksums of certain files. However, I have found that MD5 checksums calculated with TMD5 are not the same as those calculated with other methods, e.g. 'md5sum' on Linux machines. Below is the output of a ROOT script (attached as file md5test.cxx) that calculates the MD5 checksum of a zero-length string with TMD5 and the output from md5sum: [spayde@uiuc-gzero blinding]$ root -b md5test.cxx ******************************************* * * * W E L C O M E to R O O T * * * * Version 4.00/04 5 June 2004 * * * * You are welcome to visit our Web site * * http://root.cern.ch * * * ******************************************* Compiled for linux with thread support. CINT/ROOT C/C++ Interpreter version 5.15.133, Apr 18 2004 Type ? for help. Commands must be C++ statements. Enclose multiple statements between { }. root [0] Processing md5test.cxx... MD5 Check Sum of Zero Length String: 227b7f48d21283f63bc9bbc15b44ea1a root [1] .!echo -n "" | md5sum d41d8cd98f00b204e9800998ecf8427e - root [2] I get similar results (the MD5 sums do not agree between the two methods) when using finite length strings or files. I am running ROOT version 4.00/04 on a RedHat Enterprise Linux 3 system. Any help would be greatly appreciated. Regards, Damon -- ------------------------------------------------------------------------- Damon Spayde University of Illinois at Urbana-Champaign Jefferson Lab E-mail: spayde@jlab.org Counting House Cubicle 16 Phone: (757) 269-5192 ------------------------------------------------------------------------- void md5test(void) { TMD5* md5 = new TMD5(); md5->Update((UChar_t*) 0, 0); md5->Final(); cout << "MD5 Check Sum of Zero Length String: "; cout << endl; md5->Print(); }
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET