Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Kategorie bazy artykułów
Artykuły -> Game Maker -> Kursy GML
Treść artykułu
Szyfrowanie danych
autor: gnysek (11.06.05)
Na początku tworzymy nową grę.
Robimy pierwszy skrypt, i nazywamy go zaszyfruj.
Wpisujemy w nim:
gml:
text=argument0;
len=string_length(text);
szyfr='';
for(i=1; i<len+1; i+=1)
{
szyfr+=string(ord(string_char_at(text,i)))
+'x'+string(100+round(random(99)))
+'$';
}
return szyfr;

Teraz tworzymy drugi skrypt i nazywamy go odszyfruj.
gml:
text=argument0;
pos=0;
len=string_count('$',text);//zamień to $ przy zamianie innych!
szyfr='';
for (i=1; i<len+1; i+=1;)
{
pos=string_pos('x',text);
szyfr+=chr(real(string_copy(text,1,pos-1)) );
/*pos - 1 -> pobiera text do pozycji o 1 mniejszej
od pozycji znaku 'x' */

len2=string_length(text);
pos=string_pos('$',text);
text=string_delete(text,1,pos);
/*pos - 1 -> kasuje text z pozycja znaku '$' */
}
return szyfr;


Teraz stwórz obiekt i daj mu w create kod:
gml:
txt='tekst do zaszyfrowania';
txt2=zaszyfruj(txt);
txt3=odszyfruj(txt2);


a teraz w draw:
gml:
draw_text(0,0,txt2);
draw_text(0,16,txt3);


Możesz uruchomić program.
Na ekranie ukaże się niemieszczący się w ekranie napis:
cytat:
696x187$606x142$642x155$690x141$696x165$192x130$600x185$666x161$
192x104$732x105$582x157$690x131$732x192$726x145$612x102$684x132$
666x177$714x197$582x130$660x142$630x174$582x160$

Jest to nasza zaszyfrowana wiadomość.

Teraz napewno nikt tego nie odkoduje. No chyba, że widział ten artykuł, dlatego teraz wytłumaczę jak dodatkowo zabezpieczyć.

W pętli FOR pobieramy kolejne litery. Przetwarzamy je na ASCII, potem dodajemy znak x losową liczbę z zakresu 100-199 i znak $, który oznacza koniec danego znaku. Aby utrudnić komuś zadanie, możemy napisać:
gml:
szyfr+=string(ord(string_char_at(text,i))*5)

wtedy każdy znak będzie mnożony przez 5. Mozna wpisać tutaj dowolną liczbę, lub działanie (wtedy umieść je w nawiasach). Należy wtedy jeszcze w odszyfrowywaniu dodać:
gml:
szyfr+=chr(real(string_copy(text,1,pos-1))/5);

aby liczba przed odszysfrowaniem została podzielona przez to przez co wcześniej ją mnożono.

Jeżeli wykorzystacie skrypt w swojej grze, napiszcie o mnie w creditsach.
głosów: 7 | ocena: 7.00 oceń zasób | dodał: gnysek
Komentarze
stron: 1

1


av

gnysek (19:15, 11.06.2005)

Oczywiście, to jest jedna z łatwiejszych form szyfrowania, skrypt po pięciu minutach przeróbki zamienia liczby na litery i wtedy szansa odszyfrowania spada drastycznie.

av

Tymon (19:41, 11.06.2005)

Super Ale i tak ja bym zrobił to inaczej

av

bigshark (21:11, 11.06.2005)

nom nom fajne, ja bym to zrobił inaczej niz gnysek i jeszcze bardziej inaczej niz tymon ale fajne to jest i tak

av

Ranmus (9:45, 12.06.2005)

No to podajcie swoje pomysły. Algorytmów kodowania jest bez liku. Uważam, że do niewielkiego typu danych kodowanie w GML jest całkiem dobrym rozwiązaniem. Natomiast przy bardzo dużych danych to chyba lepiej skorzystać z jakiegoś dll'a co by GM'a nie zabić. ;P

av

dziadekkleofas (10:08, 12.06.2005)

Najlepiej skompresować plik swoim własnym kompreserem ;p. Nikt oprócz ciebie nie rozpakuje tak więc nie rozszyfruje.

av

Tymon (10:55, 12.06.2005)

Ranma, przecież to by sie prawie na tym samym opierało. Tylko że ja to bym chciał zrobić na pojedyńczych znakach. Czyli np. literze P będzie odpowiadać S

av

Marmot (13:10, 12.06.2005)

A czemu tak Tymon? Nie lepiej zastosować ROT-13? Pełno jest DLLi do tego, a algorytm jak nawet jest dość prosty do niego.

av

Ranmus (13:30, 12.06.2005)

Tymon: Oczywiscie, ze by sie na tym samym opieralo, ale tu chodzi o SZYBKOSC gml'a.

av

Firemark (19:50, 12.06.2005)

lol
dobre to,przyda sie w pewnej mojej grze

av

Bartek (Kamrat) (16:05, 25.06.2005)

Fajniutka sprawa

~anomymous (15:28, 11.01.2006)

zrobiłem to co mówisz ale gra uruchamia się normalnie
:-(

av

Marmot (7:06, 12.01.2006)

Przecież to jest artykuł na szyfrowanie, to co to ma wspólnego z odpalaniem gry?

av

kubasz (16:02, 4.01.2008)

Bo ja chyba zrobię trudne działanie matematyczne!!!
np. szyfr+=string(ord(string_char_at(text,i))*9+30-1)

Yoda (0:00, 5.01.2008)

O ja ale trudne działanie - ja nie moge...

av

adam014 (12:18, 5.01.2008)

@Yoda
Trudne czy nie trudne,ale jak by nie napisał to byś nie wiedział jakie i z rozszyfrowania nici

stron: 1

1



Dodaj komentarz:
Treść:
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Użytkownicy on-line
114 użytkownik(ów) aktywny(ch) przez ostatnie 15 minut:
gości: 112, userów: 2, ukrytych: 0
♔ Adriann ♔ , Uzjel

0 użytkownik(ów) na gmczacie i 0 bot(ów)
Shoutbox
Gibki Kaktus (0:49, 25.04.17):
Ja będę!
I am Lord (18:41, 24.04.17):
Ok linki wrzucę
Threef (18:30, 24.04.17):
I wrzuć może linki w jeden post
I am Lord (18:24, 24.04.17):
Goście mogą głosować w ankiecie?
I am Lord (18:23, 24.04.17):
Trzeba zrobić regulamin albo jakieś zasady
Threef (17:53, 24.04.17):
Lord napisz może że głos liczony tylko jako komentarz
I am vader (16:48, 24.04.17):
Gnysek Kek
gnysek (16:21, 24.04.17):
@Wojo: Pyrkon chyba w ten weekend.
gnysek (16:20, 24.04.17):
nastąpiła frykcja między użytkownikami
Dester (16:09, 24.04.17):
ale poleciał offtopic w pytaniach początkujących
Wojo (8:27, 24.04.17):
A kiedy jest?
Adriann (8:19, 24.04.17):
Ja!
Ignatus (8:08, 24.04.17):
Kto z forum finalnie zamelduje sie na Pyrkonie?
Wojo (5:37, 24.04.17):
Ja mam dziwne wrażenie że chcesz być lubiany yxe ale i tak pieprzysz od rzeczy
ΨΧΞ (1:36, 24.04.17):
to brzmi jak slynne "polaki cebulaki". jaki gmclan, taki testo
ΨΧΞ (1:33, 24.04.17):
mam dziwne wrażenie, że wyłącznie ja załapałem iż wojo pieprzy dla jaj.
Ignatus (21:34, 23.04.17):
Nabijaj się z ludzi że nie pracują.Płacz że poniedziałek i praca
Wojo (20:51, 23.04.17):
Znowu poniedziałek no ja pierdziele
Gibki Kaktus (13:40, 23.04.17):
Faktycznie XD Ale nie mam czasu, nad AD do Pyrkonu pracować trzeba
Threef (13:00, 23.04.17):
Jeszcze trwa!
Gibki Kaktus (12:36, 23.04.17):
Taki fajny temat ligi był ;_;
I am Lord (19:36, 22.04.17):
fajno
Threef (18:18, 22.04.17):
Głównie po to aby zmotywować i nauczyć zaawansowanych graczy, ale na tyle prosty że podstawowa znajomość GML wystarczy
Threef (18:16, 22.04.17):
Dobra, liga ligą, ale niedługo będę robić pełnoprawny konkurs dla was.
Nikas (12:14, 22.04.17):
Lumpy są zajebiste.
Wojo (7:18, 22.04.17):
O to nie wiedziałem że w lumpeksie można takie rzeczy kupow
Adriann (21:21, 21.04.17):
cholera! taki fajny temat na ligę a ja muszęPyrkon ogarniać
Ignatus (20:52, 21.04.17):
Znajoma natomiast lata po lumpkach w poszukiwaniu zabawek z superbohaterami ktore wystawia potem na allegro i z tego co mowi dobrze na tym wychodzi
Ignatus (20:48, 21.04.17):
W lumpeksach spko fant mozna znalezc, ale trezba sie nachodzic sporo i to najlepiej w dniu dostawy.Znajomy za 30zł kupil dzialajace PSP, z rzeczy nie bedacych ubraniami;p
I am Lord (20:26, 21.04.17):
To zrób hovertanka
owyn (20:22, 21.04.17):
pierdole, nie lubie czolgow.. goncie sie ((
Threef (20:16, 21.04.17):
Nie tylko liga ale też Ludum Dare!
owyn (20:14, 21.04.17):
w koncu liga! ale zajebany robota jestem w ten weekend.. moze sie uda..
I am Lord (19:57, 21.04.17):
huh? dopiero trzy były? Myślałem że więcej
Threef (19:48, 21.04.17):
Spojrzałem w istorię i na ostatnie 2 ligi nikt nie oddał gry. Po czym przypomniało mi się że uploader nie działa
Adriann (19:45, 21.04.17):
omujborze, tak to ona;3
Uzjel (19:24, 21.04.17):
Czy to liga za 56 minut?!
Wojo (17:47, 21.04.17):
A Versace jest?
I am Lord (16:31, 21.04.17):
Są markowe ubrania ale rozchodza się po godzinie od dostawy
Wojo (16:06, 21.04.17):
w ogole co sadzicie o kumpowaniu w lumpexach ? ja chyba tak sobie zobacze z ciekawości co tam jest. serio z ciekawości...
Wojo (16:05, 21.04.17):
ale ignatus szanuje ze masz zone i pracujesz to sie ceni
Wojo (16:05, 21.04.17):
więc do roboty się zabierzcie nieroby
Ignatus (16:02, 21.04.17):
Ale fakt-czekanie na gotowe tez nic nie da
Ignatus (16:02, 21.04.17):
i teraz siedzi na dupie przed kompem
Ignatus (16:02, 21.04.17):
Wiec wojo lepiej sie zastanow piszac o tym ze jak ktos nie pracuje to jest nierob i biedak, bo moze wlasnie osiagnal w zyciu 100x wiecej niz Ty kiedykolwiek
Wojo (16:01, 21.04.17):
a nie czekacie na gotowe
Wojo (16:01, 21.04.17):
a czy ja się użalam nad sobą ? mowie ze do roboty lessery
Ignatus (16:01, 21.04.17):
Jedno wiem na pewno- jeszcze nikt się nie dorobił na użalaniu nad sobą
Ankieta
» Czy jesteś szczery odpowiadając w ankietach w Internecie?
Tak
Nie

GMCLAN to serwis o programie Game Maker i nie tylko.
Copyright © 2002-2017. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!

[ Czas generowania strony: 0.01591 sekund ] [ Liczba zapytań MySQL: 16 ]

thecrims Otserv List Otserv LyricsTown Harry Potter Serwery Gier
dev nodev