Frage zu QCryptographicHash

Verschiedenes zu Qt
Antworten
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Frage zu QCryptographicHash

Beitrag von Qt-nator »

Hi,

kann man mit QCryptographicHash auch String's umwandeln? Und wie genau funktioniert das denn?

Also der Aufruf der Funktion. Das versteh ich noch nicht so ganz.

Gruß

Qt-nator
Sephral
Beiträge: 201
Registriert: 1. Februar 2006 09:40
Kontaktdaten:

Beitrag von Sephral »

Hallo,

wie der Name schon sagt, kann die Klasse nur Hashes / Prüfsummen erzeugen (Md4, Md5, Sha1). Verschlüsseln kannst du damit nicht.

Ciao,
Sephral
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Wollte ich ja auch nicht. Nur weis ich nicht wie ich umwandeln kann. Könnte mir jemand ein Beispiel geben wie ich einen String in md5 Hash umwandeln kann?

Blick da nicht so ganz durch.
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Code: Alles auswählen

// calculate checksum
QCryptographicHash hashMaker(QCryptographicHash::Md5);
hashMaker.addData(file.readAll());
QByteArray checksum = hashMaker.result();	
zum Beispiel
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
Qt-nator
Beiträge: 153
Registriert: 18. Dezember 2007 10:31

Beitrag von Qt-nator »

Das doch schon mal gut. Danke. Nur was hat es bei dem addData mit der 2ten Möglichkeit aussich.

void QCryptographicHash::addData ( const char * data, int length );
Volker
Beiträge: 343
Registriert: 30. Juni 2005 05:27

Beitrag von Volker »

Na ja, da werden die Daten eben aus dem Puffer gelesen den Du übergibst. Und zwar genau so viele Bytes wie Du mit length angibst. Steht doch genau so in der Doku.
Bitte seid so nett und ändert den Titel von Beiträgen die gelöst wurden, auf [gelöst] Beitragstitel
gentlesea
Beiträge: 27
Registriert: 27. März 2008 10:30

Stets dieselbe Prüfsumme...

Beitrag von gentlesea »

Hallo,

ich habe zu dieser Problematik auch noch eine Frage. Folgender Code:

Code: Alles auswählen

	QString QStringMD5CheckSumOfDir300RedBoot("not determined yet");
	QFile QFileDir300RedBoot("dir300redboot.zip");
	QFileDir300RedBoot.open(QIODevice::ReadOnly);
	QCryptographicHash QCryptographicHashMakerForFileDir300RedBoot(QCryptographicHash::Md5);
	QCryptographicHashMakerForFileDir300RedBoot.addData(QFileDir300RedBoot.readAll(), QFileDir300RedBoot.size());
	QByteArray QByteArrayChecksumChecksumOfFileDir300RedBoot = QCryptographicHashMakerForFileDir300RedBoot.result();
Damit will ich den MD5-Hash der Datei bestimmen. Es geht nur darum, zu überprüfen, ob die vernünftig heruntergeladen wurde, dazu reicht mir MD5. Leider produziert der Code immer dieselbe Prüfsumme, egal mit welcher Datei ich in füttere. Warum?

Code: Alles auswählen

QByteArrayChecksumChecksumOfFileDir300RedBoot.toHex()
Bin dankbar für Anregungen.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

ich würde sagen: er kann die Datei nicht öffnen (z.B. weil sie an einem anderen Ort liegt...), denn abgesehen von extrem ungünstigen Variabelnnamen, sieht der Code ok aus...
Antworten