QStrings mittels XOR verknüpfen

Du bist neu in der Welt von C++? Dann schau hier herein!
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

QStrings mittels XOR verknüpfen

Beitrag von Irods »

Hi,
ich finde einfach keine Funktion die zwei QStrings mittels der XOR-Operation verknuepft.
Wisst ihr ob es ueberhaupt schon so eine Funktion fertig gibt?

Schon ma thx und schoenen abend noch.[/b]
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Für was soll das gut sein und warum sollte es nicht gehen?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

thx

Beitrag von Irods »

Erstmal danke für die Hilfe.
Ich wollte damit eine Verschlüsselung realisieren.
Danke für den Tipp mit QByteArray, hab ich gerade mal ausprobiert,
aber irgendwie kriege ich das
ehrlich gesagt im mom nicht richtig mit QByteArray hin.
Ich probier's mal weiter xD.

Thx Gruss Irods
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Laß es und nimm was fertiges wie z.B. QCryptographicHash
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

ne

Beitrag von Irods »

mm ne geht mir ja gerade darum ne verschluesselung zu programmieren xD
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

Hi wahrscheinlich ne ganz doofe Frage:
Wie mach ich am besten aus nem QString ne QByteArray und anders rum?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

klar hab ich auch schon rein geguckt bin aber zu doof was zu finden wo man dann nicht zwangsläufig ne neue QByteArray oder QString Variable anlegen muss.
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

so ich schreib jetzt einfach ma nen codeschnipseln rein

Code: Alles auswählen

c[0]=QString( ( a.toLocal8Bit() )^( (b.toLocal8Bit()) ) );
c[0], a und b sind QStrings.
also ich will a mit b "XORen" und das ergebnis in c[0] abspeichern.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Und? Entspricht das Ergebnis nicht deinen Vorstellungen?
Irods
Beiträge: 53
Registriert: 24. Mai 2009 20:57
Kontaktdaten:

Beitrag von Irods »

ahso ja sry also
der kompiler
haut folgende fehler meldung raus:

Code: Alles auswählen

/usr/include/qt4/QtCore/qbytearray.h:349: Fehler: »QByteArray::operator QNoImplicitBoolCast() const« ist privat
mykrypt.cpp:100: Fehler: in diesem Zusammenhang
Weiss aber nich wie ich diese beheben kann.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Zeig mir doch mal den Punkt in der Doku wo von XOR oder ^ die Rede ist.
Curtis Newton
Beiträge: 122
Registriert: 11. Juni 2008 18:39

Beitrag von Curtis Newton »

Irods hat geschrieben:ahso ja sry also
der kompiler
haut folgende fehler meldung raus:

Code: Alles auswählen

/usr/include/qt4/QtCore/qbytearray.h:349: Fehler: »QByteArray::operator QNoImplicitBoolCast() const« ist privat
mykrypt.cpp:100: Fehler: in diesem Zusammenhang
Weiss aber nich wie ich diese beheben kann.
Sorry, sorry, sorry, ich meinte QBitArray. Sorry. Sowas blödes von mir.

QBitArray kan XOR und Konsorten. Du brauchst nur zwei kleine Funktionen für
QString -> QBitArray
und
QBitArray -> QString.

Sorry nochmal.

C.
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

Code: Alles auswählen

QString crypt (QString text, QString passwd)
{
  QString crypted(text.length());

  for(int i = 0; i < text.length(); i++)
  {
    crypted[i] = QChar(text.at(i).toAscii() ^ passwd.at(i % passwd.lenght()).toAscii());
  }

  return QString(crypted);
}
Mal schnell im Info-Unterricht zusammengeklimpert. Ist nicht gestestet, habe aber so in der Art auch mal ne crypt()-Funktion geschrieben. Verschlüsselt das Passwort auch, wenn es kürzer als der Text ist.

Mfg androphinx

Edit: Musste es nochmal ändern, weil QChar kein XOR kennt.
Zuletzt geändert von androphinx am 19. August 2009 09:29, insgesamt 3-mal geändert.
Antworten