Hallo auch, die folgende Funktion sollte eigentlich erstmal ein char-array auf eine bestimmte größe füllen.
beispiel:
dann soll key in
gefüllt werden.
aber der ist so doof und macht das nicht, dieses sch**** ding regt mich auf
der füllt das ding entweder nur mit drei komischen zeichen, oder mit irgendwelchen anderen daten.
woran liegt es, dass er in der einen schleife Key[j] nicht mit daten von PUBLIC_KEY[k] füllt?
wenn dann in der schleife wie unten
steht, kommt mist raus, aber
klappt es, dann kommen plötzlich die daten raus. aber wieso macht der denn müll?
beispiel:
Code:
KEY = "asdfijosjfsaf";
key2[20]
Code:
key2 = "asdfijosjfsafasdfijo";
aber der ist so doof und macht das nicht, dieses sch**** ding regt mich auf
der füllt das ding entweder nur mit drei komischen zeichen, oder mit irgendwelchen anderen daten.
woran liegt es, dass er in der einen schleife Key[j] nicht mit daten von PUBLIC_KEY[k] füllt?
wenn dann in der schleife wie unten
Code:
j++;
cout << Key[j];
Code:
j++;
cout << Key[j-1];
Code:
char *EncryptString(char *PlainText)
{
long lTextLen = strlen(PlainText + 1); //length of plaintext
long lKeyLen = strlen(PUBLIC_KEY); //length of key
int CipherChar = 0; //ascii-value of char
char *Key = new char[lTextLen]; //key
double lLen = (double)lTextLen / (double)lKeyLen;
if (lLen > (int)lLen)
{
lLen = (int)lLen++;
}
if (lLen <= 0) lLen = 1;
int j = 0;
if (lTextLen > lKeyLen)
{
for(int i = 0; i < lLen; i++)
{
for(long k = 0; k < lKeyLen; k++)
{
if (j > lTextLen) break;
//cout << lTextLen << ": " << j << " " << PUBLIC_KEY[k] << "->" << Key[j] << endl;
Key[j] = PUBLIC_KEY[k];
j++;
cout << Key[j];
}
if (j > lTextLen) break;
}
}
cout << Key << endl;
Key[lTextLen] = '\0';
char *Cipher = new char[j];
for(int i = 0; i < lTextLen; i++)
{
CipherChar = (int)Key[i] + 7;
if (CipherChar > 255)
{
Cipher[i] = (char)CipherChar - 255;
}
else
{
Cipher[i] = (char)CipherChar;
}
}
Cipher[lTextLen] = '\0';
cout << lTextLen << endl;
//char *newCipher = new char[lTextLen];
//strcpy(newCipher, Cipher);
//cout << endl << strlen(newCipher) << " -> " << lTextLen << endl;
//cout << endl << Cipher;
return Cipher;
}
Zuletzt bearbeitet: