szyfrowanie plików

0

No cuż tu dużo pisać jeśli ktoś wie jak zaszyfrować plik to niech da znać :-)

0

Odpowiedź na twoje pytanie znajduje się na tejże stronie - wystarczy poszukać.

0

a jakiego algorytmu chcesz uzyc

0

Jest wiele typow szyfrowania np. w Turbo Pascalu. Znane mi to takie:
-ROT-13
-NOT
-XOR
-Liczby losowe

Za duzo pisania ale przedstawie ci te trzy na gorze bo mam chwilke.
Najmniej bezpieczne ale chyba najprostrze do opanowania sa dwa pierwsze. NOT bardzo bardzo latwo rozkodowac a funkcja kodujaca jest taka sama jak dekodujaca.

Pierwszy przyklad na ROT-13:

program rot13;
uses crt;

function rot13 (napis:string):string;
var i :byte;
begin
for i := 1 to length(napis) do
if (upcase(napis[i]) &gt= 'A') and (upcase(napis[i]) &lt= 'M') then
napis[i] := chr(ord(napis[i])+13)
else
if (upcase(napis[i]) &gt= 'N') and (upcase(napis[i]) &lt= 'Z') then
napis[i] := chr(ord(napis[i])-13);
rot13 := napis;
end;

var zdanie :string;
begin
clrscr;
writeln ('Napisz zdanie.');
readln (zdanie);
writeln ('Po zaszyfrowaniu ROT-13:');
writeln (rot13(zdanie));
readkey;
end.

OK. Teraz sprobujmy na prostrzy NOT - sam sie poczaisz.

program nott;
uses crt;

function koduj (napis :string):string;
var i :byte;
begin
for i := 1 to length(napis) do
napis[i] := chr(not ord(napis[i]));
koduj := napis;
end;

var litery :string;
begin
clrscr;
writeln ('Napisz kilka znaków do kodowania / rozkodowania.');
readln (litery);
writeln ('Wynik:');
writeln (koduj(litery));
readkey;
end.

A teraz sprobujmy na XOR, uprzedzam, ze tutaj juz wystepuja klucze i musisz utworzyc trzy pliki, pierwszy z kluczem, drugi wejscia (tam umiesc tekst do zakodowania) a trzeci wyjscia ( tam tekst bedzie zakodowany ). To troche meczace ale mi sie przydalo z uwagi na to ze wystepuje funkcja blockread();
Umieszczam ponizej implementacje na XOR ale w uproszczonej bardziej czytelnej wersji. Mam nadzieje ze odpowiedzialem na twoj post.

program xorx;
uses crt;

function szyfr_xor (napis,haslo:string):string;
var i,j :byte;
begin
j := 1;
for i := 1 to length(napis) do
begin
napis[i] := chr( ord(napis[i]) xor ord(haslo[j]) );
if j &lt length(haslo) then inc (j)
else
j := 1;
end;
szyfr_xor := napis;
end;

var zdanie, haslo :string;
begin
clrscr;
writeln ('Napisz zdanie.');
readln (zdanie);
writeln ('Podaj hasło do szyfrowania/deszyfrowania.');
readln (haslo);
if haslo = '' then exit;
writeln ('Po zaszyfrowaniu / odszyfrowaniu XORem:');
writeln (szyfr_xor(zdanie, haslo));
readkey;
end. --GW

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