Muuuuczek567 Opublikowano 4 Listopada 2010 Udostępnij Opublikowano 4 Listopada 2010 Odrabiając wczoraj pracę domową z matmy wpadłem na pomysł napisania szyfrowania przy pomocy funkcji random(). Oto efekt. Szyfrowanie: GML var wy,k; wy = '' k = random_get_seed() random_set_seed(argument1) for(i = 1; i <= string_length(argument0); i += 1) { wy += chr(ord(string_char_at(argument0,i))+round(random(256))) } random_set_seed(k) return wy I deszyfrowanie: GML var wy,k; wy = '' k = random_get_seed() random_set_seed(argument1) for(i = 1; i <= string_length(argument0); i += 1) { wy += chr(ord(string_char_at(argument0,i))-round(random(256))) } random_set_seed(k) return wy Argument 0 - to tekst szyfrowany/deszyfrowany. Argument 1 - klucz. Kody różnią się tylko jednym znakiem - w jednym jest plus, a w drugim - minus, więc nie ma problemu zrobić z tego jedną funkcję. Oceniajcie, bo nie wiem, co o tym myśleć. Wydaje się szybkie i dobre. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 4 Listopada 2010 Udostępnij Opublikowano 4 Listopada 2010 Nie napisałeś jak działa, to po 1, po 2, nie wystarczy zmieniać litery, albo xor'em? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 4 Listopada 2010 Autor Udostępnij Opublikowano 4 Listopada 2010 1. Już opisałem 2. co? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 4 Listopada 2010 Udostępnij Opublikowano 4 Listopada 2010 1. Nie opisałeś jak działa, co robią funkcje itd. 2. Chodzi mi o to że równie dobrze można używać xor'a do szyfrowania, czy innego szyfru. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 4 Listopada 2010 Autor Udostępnij Opublikowano 4 Listopada 2010 @Roki: 1. Po co jest opis funkcji, skoro napisałem, co do szyfrowania, a co do deszyfrowania? Pierwszy argument jest tekstem do de/szyfrowania, a drugi argument - to klucz, którego używa się do de/szyfrowania. Np. tekst a = szyfr('ala ma kota',54367) można deszyfrować jedynie tak: a = deszyfr(a,54367). Nie muszę objaśniać mechanizmu szyfrowania, bo sam w sobie jest banalny, a jeśli mimo to potrzebujesz pomocy w zrozumieniu metody szyfrowania, no to szkoda. 2. Szyfrowanie XOR-em odpada, bo deszyfruje się tak samo, jak szyfruje. Mój szyfr jest tak skonstruowany, że tylko klucz do szyfrowania pasuje jako klucz do deszyfrowania danego tekstu. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 4 Listopada 2010 Udostępnij Opublikowano 4 Listopada 2010 Ten co dawałem linka na shoutbox też. jeśli mimo to potrzebujesz pomocy w zrozumieniu metody szyfrowania, no to szkoda. Napisałem że ja? W GM siedzę dłużej niż ty, wierz mi, znam się na tym trochę :) Ale skoro dodajesz przykład, to warto go wyjaśnić, prawda? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 5 Listopada 2010 Autor Udostępnij Opublikowano 5 Listopada 2010 Aha, ja myślałem o innym szyfrze z XOR. Ale skoro dodajesz przykład przykład Pfff. Skrypty, przykłady, dodatki, silniki 3D dla GM Skrypty To nie jest przykład. To po prostu jest skrypt do szyfrowania tekstu, np. gdy chcesz zapisać coś do pliku. I skąd ta pewność, że siedzisz dłużej w GM-ie? :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 5 Listopada 2010 Udostępnij Opublikowano 5 Listopada 2010 I skąd ta pewność, że siedzisz dłużej w GM-ie? Po prostu to wiem :> No dobra, ale nawet dodając skrypt, silnik, dodatek, cokolwiek do użytku przez innych, to wypada to opisać? Zamiast dawać rybę, daj wędkę :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 5 Listopada 2010 Autor Udostępnij Opublikowano 5 Listopada 2010 Tutaj nie ma co do opisywania. Jeśli wiesz, co to jest ASCII i funkcje z random, to nie potrzebujesz opisu. W przeciwnym wypadku - do ASCII trzeba samemu dojść, nie ma tak, że jak napiszę, że 'A' to 65, a 'a' to 97, to magicznie wszyscy zrozumieją ten skrypt. Dobra, jak chcesz jeszcze coś napisać, to pisz na GG (28130638), a nie śmiećmy w temacie. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę