Brak odszyfrowania

HY
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 19
0

Moje pytani brzmi dlaczego po podaniu wygenerowanego 'szyfru' program nie chce odszyfrowac zaszyfrowanego słowa? Z góry dziękuję za pomoc.

Kopiuj
program szyfra;
uses crt;
var
 e : integer;
 menu :char;
 n,m : byte;
 szyfron,liczba, b,c,polaczone : string;
begin
 n := 65;
 m := 90;
 REPEAT
 Writeln('a. Szyfrowanie.');
 Writeln('b. Deszyfrowanie.');
 Writeln('q. Koniec programu.');
 Readln(menu);
 Case menu of
		'a': Begin
             clrscr;
             Writeln('Podaj tekst do zaszyfrowania:');
             Readln(b);
             randomize;
             e := random(2000);
             szyfron := (Chr(Random(n-m+1)+m))+(Chr(Random(n-m+1)+m))+(Chr(Random(n-m+1)+m));
             Str(e,liczba);
             polaczone := liczba+szyfron;
             Writeln('Tekst w postaci zaszyfrowanej to: ', liczba+szyfron);
             Readln(liczba,szyfron);
             clrscr;
			 End;

		'b': Begin
             clrscr;
             Writeln('Podaj klucz do odszyfrowania:');
             Readln(c);
             if c = liczba+szyfron then Writeln('Zaszyfrowany tekst to: ',b) else Writeln('Bledny klucz!');
             Readln;
             clrscr;
		     End;
		Else 
			Begin 
			  {Alternatywny blok gdy nie znany znak}
			  {Ten blok else moze nie istniec}
			clrscr;
			If UpCase(menu) <> 'Q' Then 
			  Begin
				 WriteLn('Nie rozpoznany znak');
				 ReadLn;
                clrscr;
			  End;
			End;
		End;
	
	{Zakonczenie pentli REPEAT}
	Until (menu='q') or (menu='Q');
end.




{Var
 X:Byte;
 S:String;

Begin
  X:=48;
  Str(x,s);
  WriteLn(s);
End.
}
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

1.Formatowanie kodu.
2.

Kopiuj
Until (menu='q') or (menu='Q');

Zbiory, zbiory, zbiory...
3.Funkcje, funkcje, funkcje...
4.

pentli

5.Gdzie w tym kodzie znajduje się jakiekolwiek deszfrowanie?

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
1

Ty sobie robisz jaja? Przecież ten kod NIC NIE SZYFRUJE! Wczytujesz sobie tekst do zmiennej 'b' a potem NIC Z NIĄ NIE ROBISZ. To co wypisujesz userowi to tylko i wyłącznie wyniki kilku randomów. Nie wiem jak chciałbyś to "odszyfrować"
że już nie wspomnę o tym że program działa tylko jak najpierw zaszyfrujesz a potem odszyfrujesz...
Po co napisałeś coś tak idiotycznego? Nie prościej zacząć od szyfrowania cezara na przykład?

  • Rejestracja: dni
  • Ostatnio: dni
0

Writeln('Podaj klucz do odszyfrowania:');
Readln(c);
if c = liczba+szyfron then Writeln('Zaszyfrowany tekst to: ',b) else Writeln('Bledny klucz!');

Genialny algorytm deszyfrujący, roftlol. Widać że ktoś kto zna się na programowaniu :D .

Jak dla mnie perełka.

flowCRANE
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tuchów
  • Postów: 12270
0
Hydrant napisał(a)

Moje pytani brzmi dlaczego po podaniu wygenerowanego 'szyfru' program nie chce odszyfrowac zaszyfrowanego słowa?

Jeżeli cokolwiek szyfrujesz z wykorzystaniem generatora liczb pseudolosowych to jeśli w zaszyfrwanym słowie nie zamieścisz informacji o wylosowanej liczbie (w jakiejkolwiek postaci) to tego już nie ma możliwości odszyfrować...

Może najpierw napisz jaki efekt chciałeś uzyskać, a będzie można coś więcej napisać;


Kopiuj
var
  {...}
  n,m : byte;
  {...}
begin
  n := 65;
  m := 90;

 {...}

Te zmienne możesz zamienić na stałe, bo i tak ich później nie modyfikujesz;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.