Witam,
jak zrobisz kodowanie, jakieś nawet własne tego typu, że każdy swój string kodujesz za pomocą jakiegoś wielobajtowego unikalnego klucza, gdzie kodowanie polega na cyklicznym wg tego klucza xorowaniu stringów, do tego wpleciesz jeszcze kilka własnych sztuczek,czyli np dodawanie w wybranych miejscach stringu rozbitych na różne pozycje sum kontrolnych czy jeszcze kilku gadżetów to stawiam dużą skrzynkę piwa jeśli znajdziesz kogoś, kto rozkoduje ci ten zaszyfrowany string bez wiedzy n/t twojego klucza oraz wiedzy czy i jakie sumy kontrolne i gdzie wplatasz. Takie proste systemy są czasem dużo leplsze od dużych i ciężkich algorytmów DES AES itp jak na Bascom'a czy może na małe AVRki. A co najważniejsze szybko można je samemu napisać.
Dodano po 8 [minuty]: o przy okazji tak na gorąco strzeliłem przykład takiego prostego ale bardzo skutecznego kodowania (to oczywiście tylko przykład i jak mówię warto go wzbogacić o kilka szczegółów i przetestować jeszcze - ale mam nadzieję, że obrazuje dobrze temat. Jak pisałem do tego zakodowanego stringa dodajesz jeszcze jakieś sumy kontrolne własnej roboty, mozna go jeszcze raz przelecieć kodowaniem w oparciu o drugi klucz i życzę powodzenia w jego rozszyfrowaniu bez znajomości klucza(-y) czy tych sum kontrolnych)
poniżej obrazek prostego programu:
a jeszcze poniżej fragmenty super prostego kodu. Pisane to jest w Delphi więc to będzie pikuś przerobić to na potrzeby Bascoma:
to klawisz "ZAKODUJ"
procedure TForm1.Button1Click(Sender: TObject);
var
i, j, kluczdl, x,y: Integer;
c, str, str2, klucz: String;
b : char;
begin
str := Edit1.Text;
klucz := Edit2.Text;
kluczdl := Length(klucz);
j := 1;
str2 := '';
for i := 1 to Length(str) do begin
b := str[i];
x := ord(b);
y := ord(klucz[j]);
y := y - 23;
c := Chr( x xor y );
str2 := str2 + c;
inc(j);
if j > kluczdl then j := 1;
end;
Edit3.Text := str2;
end;
a to klawisz "ODKODUJ"
procedure TForm1.Button2Click(Sender: TObject);
var
i, j, kluczdl, x,y: Integer;
c, str, str2, klucz: String;
b : char;
begin
str := Edit3.Text;
klucz := Edit2.Text;
kluczdl := Length(klucz);
j := 1;
str2 := '';
for i := 1 to Length(str) do begin
b := str[i];
x := ord(b);
y := ord(klucz[j]);
y := y - 23;
c := Chr( x xor y );
str2 := str2 + c;
inc(j);
if j > kluczdl then j := 1;
end;
Edit4.Text := str2;
end;
tak więc widać mniej więcej jak można do tego podejść aby było bezpiecznie i aby skutecznie odstraszyć amatorów cudzych gruszek (czyli tych którzy chcą rozkodować)
pozdrawiam