Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Napisanie programu generującego losowe liczby

22 Mar 2010 11:06 1806 5
  • Poziom 2  
    Witam.
    Chciałbym się dowiedzieć, jak można napisać prosty program, który generował by losowo liczby w formacie xxxx-xxxx-THV3-SDP.
    Zrobiłem gre i chciałbym ją w jakiś sposób zabezpieczyć. Zrobiłem system rejestracji ale wciąż brakuje mi losowo generowanych kodów.
    Dobrze by było gdyby program wysłał na maila wygenerowany kod, żebym wiedział jaki został użyty.
    Proszę o pomoc, jestem całkiem zielony w tych sprawach.
    Darmowe szkolenie: Ethernet w przemyśle dziś i jutro. Zarejestruj się za darmo.
  • Poziom 29  
    Witam!
    Byłeś w stanie napisać grę, ale nie potrafisz wygenerować liczb losowych? Co w tym trudnego? Oprócz użycia funkcji random(). ;-)
    Pozdrawiam!
  • Moderator Programowanie
    W twoim przypadku, losowe liczby to nie jest rozwiązanie. Każdy może sobie "wylosować" takie liczby i twoje zabezpieczenie traci sens.
    Musisz się zastanowić nad jakimś sposobem kodowania, ze zmienną formą kodu, tak aby kolejne kody zawierały odmienne liczby/litery, ale odkodowane zawierały dokładnie tę samą informację.

    Można to zrobić w dość prosty sposób :
    - Uznajmy, że używasz liter.
    - Masz 26 liter (nie liczymy raczej polskich znaków).
    - Losujesz liczbę pomiędzy 1 i 26 - to będzie twój klucz.
    - Do ciągu znaków wstawiasz literę odpowiadającą wylosowanej liczbie.
    - Następnie swój kod, np. słowo 'LICENCJA', kodujesz dodając lub odejmując od każdej litery z kodowanym słowie tę wylosowaną liczbę i wstawiasz odpowiadającą jej literę zamiast oryginalnej.
    - Jeżeli suma liczb przekroczy 26, podajesz literę na pozycji modulo 26.
    - W przypadku odejmowania, jeżeli przekroczysz 1, odliczasz dalej od 26 w dół.

    Dekodujesz to dokładnie odwrotnie, zamiast dodawać, odejmujesz liczbę. Przypominam, że klucz masz już zapisany na którejś pozycji w swoim ciągu znaków.
  • Poziom 16  
    Sens takiego zabezpieczenia to tylko Twoja nauka, bo złamanie go nie zajmie więcej niż minutę. Gdybyś chciał ten czas nieco wydłużyć użyj jakiegoś gotowego protectora. Nie wiem czy są jakieś sensowne darmowe, ale tu jest jeden polski: pelock (płatny).
  • Poziom 2  
    co jest takiego trudnego?
    powinienem tam napisać że stworzyliśmy

    gre robilem z kolegami, niestety juz sie nie kolegujemy

    moze macie jakies gotowe kody ktore można przekształcić i dostosować?
  • Poziom 19  
    Można przy rejestracji wymagać adresu email. Następnie użyć MD5 do wygenerowania hasza. Następnie hasz "wymieszać" z innym twoim haszem np:

    MD5('user@email.com')=EEEEEEEEEEEEEEEEEEEEEEEE
    MD5('twojehaslo1234')=PPPPPPPPPPPPPPPPPPPPPPPP

    klucz dla użytkownika: EPEPEPEPEPEPEPEPE idt...

    Program byłby w stanie odkodować klucz rejestracyjny na podstawie adresu email wpisanego podczas rejestracji.