Skocz do zawartości

Szyfrowanie tekstu


Rekomendowane odpowiedzi

Witam. Wymyśliłem sobie metodę szyfrowania tekstu, a brzmi ona tak:

"Suma kodów ASCII dwóch kolejnych liter daje kod poprawnej litery"

 

No i mam skrypty:

szyfruj

GML
_tekst=argument0

_wynik=""

_znak=""

_temp=0

 

ilosc=string_length(_tekst)

_tekst=string_upper(_tekst)

for (i=1; i<ilosc; i=i+1)

{

_znak=string_char_at(_tekst, i)

_temp=irandom_range(65,90)

_wynik=_wynik+chr(ord(_temp))+chr(ord(_znak)-_temp)

}

return _wynik

odszyfruj:

GML
_tekst=argument0

ilosc=string_length(_tekst)

for (i=1; i<ilosc; i=i+2)

{

znak=string_char_at(_tekst, i)

znak2=string_char_at(_tekst, i+1)

_wynik=_wynik+chr(ord(znak)+ord(znak2))

}

return _wynik

 

i owszem działa, ale wyskakują też dziwne znaki, a chciałbym aby w wyniku był tekst zaszyfrowany tylko za pomocą liter. Co należy poprawić?

Odnośnik do komentarza
Udostępnij na innych stronach

GML
_wynik=_wynik+chr(ord(_temp))+chr(ord(_znak)-_temp)

 

ord zwraca kod ASCII podanego jako argument znaku. Ty jako argument wysyłasz liczbę (sądząc po przedziela chcesz wysłać kod ascii litery). Ja pytam jaki to ma sens?

Dalej zamieniasz to z powrotem na znak i dodajesz do wyniku.

 

Po co jest ten pierwszy ord?

Odnośnik do komentarza
Udostępnij na innych stronach

Dodając litery "a" i "Z" wyjdzie kod 187 (97+90).

Jak masz zamiar z tej liczby 187 wyciągnąć liczby 97 i 90?

 

Nie rozumiesz. On sobie losuje jakaś literę. W zaszyfrowanym tekście każdej literze odpowiadają 2 litery. Jedna to ta wylosowana a druga to ich różnica.

Odnośnik do komentarza
Udostępnij na innych stronach

Może i głupi, ale skuteczny, hasła do gg są szyfrowane w podobny sposób.

 

Edit

Problem rozwiązany. Wystarczyło losować liczbę od 0 do 32 i dodać do niej 65, a przy deszyfrowaniu odjąć. Teraz w wyniku są znaki które można normalnie z klawiatury wpisać.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...