[Delphi] Problem z Xorowaniem !!!!

Odpowiedz Nowy wątek
2002-12-26 22:33
0

Otóż wziełem przykład xorowania z artykuły A.B (program szyfrator). Myślałem, że działa on porządnie, dlatego zaczełem robić testy, czy aby na pewno funkcja xorowania tam zawarta działa zawsze prawidłowo. No to tekst wyglądał nastąpująco 'iii' (czyli trzy razy litery i). Jak hasło xorowania wziełem litere 'i'. Zakodowało, a jak chciałem odkodować poprzez hasło "i" - wyszło juz tylko jedno "i". Jak widać, funkcja ta ma błąd. Czy ktoś może mi powiedzieć jak napsiać prawidłową / gdzie ją mozna znaleźć???

A oto funkcja Xorowania z progsu A.Boducha:

function Szyfruj(sString, Password : String) : String;
var
I : Integer;
PassCount : Integer;
begin
PassCount := 0;
Result := sString; // przypisz wartosc poczatkowa
for I := 1 to Length(sString) do // wykonuj dla kazdej litery osobno
begin
{
Dla kazdego osobnego znaku zamieniaj na wartosc liczbowa, a nastepnie
xoruj z kazda litera hasla - powstaje wowczas unikalna kombinacja.
}
Result[i] := Chr(Ord(sString[i]) xor Ord(Password[PassCount]));
Inc(PassCount); // wieksz licznik - kolejne slowo hasla
if PassCount > Length(Password) then PassCount := 0; // Jezeli licznik przekroczy dlugosc hasla - wyzeruj
end;
end;

Czy ktoś wie jak ten problem rozwiązać??


Pozostało 580 znaków

2002-12-27 03:30
0

Nie wiem gdzie jest błąd, ale wiem, ze juz po zakodowaniu jest tylko jedno 'i' - ale nie ma pomysłu o co może chodzić - procka wygląda poprawnie.


, tradycyjnie pozdrawiam - Numi.

Pozostało 580 znaków

2002-12-27 09:55
0

hmmm stfiercam ze co druga litera zostaje zamieniona na inny znak ;) przy chaśle i

PS. Jakoś tak ale przy iii wyszło i przy chaśle
PS2. Metoda xorowania na chasło jest troche głupia bo przy szyfrowaniu szyfrowanego tekstu wychodzi tekst wejściowy ;p

Pozostało 580 znaków

2002-12-27 11:14
0

A czemu PassCount := 0; zdaje się, że stringi są indeksowane od 1;


po prostu siwY

Pozostało 580 znaków

2002-12-27 11:38
0

Ja tej metody użyłem w programie do kodowania plików i działa normalnie nei ma błedów.http://www.4programmers.net/forum/viewtopic.php?id=30140
tu jest post. Poczytaj
http://www.4programmers.net/forum/viewtopic.php?id=30189
A tu masz inne metody Dryobates napisał jak byś poszukał to bys nei pytał. te tematy było 2-3 dni temu poruszane


Pozdrowienia Waldi

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0