Hallo,
ich habe die sha1.c von http://www.packetizer.com/security/sha1/ in mein Projekt eingebunden und eine Function erstellt, die mir aus einer Datei, eine Checksumme erstellen soll. Das klappt auch super, nur will ich die Checksumme gleich prüfen und hier stosse ich auf ein Datentyp-Problem - und an die Grenzen meines C++ Wissens.
Hier mal die Function:
Ich würde jetzt gerne den Output, was ich mit printf erzeuge (mit der gleichen Formatierung!), in einen CString packen, damit ich ihn vergleichen kann. Wie kriege ich das hin?
Ich wäre dankbar für jegliche Tips!
ich habe die sha1.c von http://www.packetizer.com/security/sha1/ in mein Projekt eingebunden und eine Function erstellt, die mir aus einer Datei, eine Checksumme erstellen soll. Das klappt auch super, nur will ich die Checksumme gleich prüfen und hier stosse ich auf ein Datentyp-Problem - und an die Grenzen meines C++ Wissens.
Hier mal die Function:
Code:
bool checkEAChecksum() {
SHA1 sha; // SHA-1 class
FILE *fp; // File pointer for reading files
char c; // Character read from file
unsigned message_digest[5]; // Message digest from "sha"
if (!(fp = fopen("X:\\DateiDieGeprueftWerdenSoll.txt","rb")))
{
AfxMessageBox(_T("Fehler! DateiDieGeprueftWerdenSoll.txt wurde nicht gefunden!"), MB_OK | MB_ICONERROR );
return (false);
}
/*
* Reset the SHA1 object and process input
*/
sha.Reset();
c = fgetc(fp);
while(!feof(fp))
{
sha.Input(c);
c = fgetc(fp);
}
if (!sha.Result(message_digest))
{
AfxMessageBox(_T("sha: could not compute sha1 checksum"), MB_OK | MB_ICONERROR );
}
else
{
FILE *stream ;
if((stream = freopen("d:\\file.txt", "w", stdout)) == NULL) exit(-1);
printf( "%08x%08x%08x%08x%08x",
message_digest[0],
message_digest[1],
message_digest[2],
message_digest[3],
message_digest[4]);
printf("\n");
}
return(false);
}
Ich würde jetzt gerne den Output, was ich mit printf erzeuge (mit der gleichen Formatierung!), in einen CString packen, damit ich ihn vergleichen kann. Wie kriege ich das hin?
Ich wäre dankbar für jegliche Tips!