blob: 7ec25edadb2a976a394867bbdacf1ccef5d41347 [file] [log] [blame]
bigbiff bigbiffcdcfee42013-02-27 21:11:26 -05001/*
Ethan Yonker472f5062016-02-25 13:47:30 -06002 Copyright 2012 to 2016 bigbiff/Dees_Troy TeamWin
bigbiff bigbiffcdcfee42013-02-27 21:11:26 -05003 This file is part of TWRP/TeamWin Recovery Project.
4
5 TWRP is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 TWRP is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with TWRP. If not, see <http://www.gnu.org/licenses/>.
17*/
Dees Troy3be70a82013-10-22 14:25:12 +000018
bigbiff bigbiffcdcfee42013-02-27 21:11:26 -050019extern "C" {
20 #include "digest/md5.h"
21}
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020022
bigbiff bigbiffcdcfee42013-02-27 21:11:26 -050023using namespace std;
24
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020025class twrpDigest
26{
27public:
Ethan Yonker472f5062016-02-25 13:47:30 -060028 void setfn(const string& fn);
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020029 int computeMD5(void);
30 int verify_md5digest(void);
31 int write_md5digest(void);
bigbiffce8f83c2015-12-12 18:30:21 -050032 int updateMD5stream(unsigned char* stream, int len);
33 void finalizeMD5stream(void);
34 string createMD5string(void);
35 void initMD5(void);
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020036
37private:
38 int read_md5digest(void);
bigbiffce8f83c2015-12-12 18:30:21 -050039 struct MD5Context md5c;
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020040 string md5fn;
41 string line;
42 unsigned char md5sum[MD5LENGTH];
bigbiffce8f83c2015-12-12 18:30:21 -050043 string md5string;
bigbiff bigbiffcdcfee42013-02-27 21:11:26 -050044};