Nie zagłębiałem się w kod podany w tym artykule, ale jeżeli chcesz go wykorzystać "żywcem" to powinien się on skompilować. Przecież zmianna FZise
jest tam ustawiana. Jeśli chciał byś odczytywać i zapisywać do string'a, a nie do TMemoryStream
to trzeba było by go przerobić. Wtedy jak podejrzewam to ta zastosowana pętla for
musiał by być od 1 do Length(StringWejsciowy)
, co jest chyba oczywiste.
EDIT: algorytm działa, tylko że za taki "artykuł" do którego podałeś link jego autor powinien dostać przynajmniej karnego ku... Ponieważ jest błąd w nazwie zmiennej, powinno być PlikIn
, a nie Plik
. Natomiast pętla tak - jak wiadomo - powinna być od zera do FSize - 1
. Tylko autor coś tam "zjadł" w składni. Natomiast odszyfrowanie jest tak jak napisał. Zamiast dodawać kod znaku to go odejmujesz. Coś to trochę przypomina szyfrowanie cezara z "przemodzeniem". Nie wiem czy akurat takie hasło i string wybrałem, ale wcale nie szyfruje pierwszego znaku, także trochę to do niczego. Bo jak już szyfrujemy, to lepiej mieć wszystko zaszyfrowane jak należy.