Generowanie kluczy licencji programu

0

Przeszukałem już google od a..z i nic nie znalazłem. Otóż chodzi mi o zrobienie generatora haseł z aktywacją do mojej aplikacji.
Sposób działania to:

  • pobieram od klienta NIP
  • pytam na ile stanowisk licencja
  • generuję klucz licencji
  • generuję klucz aktywacji na 30dni
    generuje na tej podstawie klucz do programu i daję go klientowi (program będzie działał przez 30 dni do momentu aż klient nie zapłaci całej kasy)
    w tym momencie aby korzystać z programu dalej klient będzie musiał wygenerować żądanie o przedłużenie czasu aktywacji programu i ja albo się zgodzę na przedłużenie albo będę żądał uregulowania płatności.
    W momencie kiedy klient zapłaci całość wygeneruję nowy klucz licencji bezterminowy.

Zakładam że program w czasie instalacji będzie generował losowy identyfikator instalacji który posłuży do zgłoszenia danych rejestracyjnych firmy a mi on pomoże w generowaniu tych całych kluczy.

Problemem jest ten właśnie klucz chciałbym aby przyjął on formę:
XXXXX-XXXXX-XXXXX-XXXXX
ewentualnie coś w stylu
XXXXXX-XXXXXXXXXXXXXX
1 człon ilość stanowisk
2 cżłon NIP +identyfikator instalacji

Zastanawiałem się nad hashowaniem ale nie znalazłem jakiegoś przykładu w jez. delphi.
Przez chwilę chciałem to rozwiązać w ten sposób:

mamy jakąś tablice 'A'..'Z' i '0'..'9'
dane zebrane od klienta będę szyfrował przez wybieranie danych z tej tablicy tylko nie wiem jak określić długość klucza.

Proszę o małe światełko w tej nieznanej mi jeszcze kryptografii.

0

Sam możesz wymyślić dowolny schemat w oparciu o MD5 + parę informacji o komputerze.

A z gotowców - http://www.wakproductions.com/cgi-bin/viewpage.cgi?page=regware/index

0

zainteresuj się komponentem AVLock ma całkiem spore możliwości...

0

Niby tak, ale md5 jest jednokierunkowym szyfrem i nie da się tego rozkodować.

Chodzi mi dokładnie o:
Klucz wygenerowany w generatorze i wpisany do bazy na której działa program.
Program przy starcie łączy się z baza pobiera klucz i odszyfrowuje go (sprawdza na ile licencji jest dana wersja i na ile dni).
O to właśnie mi chodzi. MD5 brałem pod uwagę i nawet korzystam z niego w tym programie ale ale nie da się hasła zaszyfrowanego szyfrem md5 odczytać od tyłu

czy AVLock jest darmowy?

Sprawdziłem tego AVLock niestety używam Turbo Delphi Explorer i nie w chodzi w rachubę instalka komponentów.
Może ktoś wpadł na skrypt z hashem o zadanej długości i w dodatku dwukierunkowy.
Interesuje mnie w zasadzie jeszcze jakiś skrypcik z wykorzystaniem rsa lub des w delphi

// hash zawsze jest jednokierunkowy - Ł

0

Jest od cholery bibliotek z RSA i podobnymi. I posiadanie TD nie jest tu przeszkodą - przecież można utworzyć komponent "w locie" :)

0

To, że MD5 jest jednokierunkowe - to też żaden problem. Przecież możesz dołączyć dane JAWNE - a w MD5 zawrzeć tylko sumę kontrolną. Oczywiście w jakiś sposób "wzbogaconą". Weryfikacja polegałaby na sprawdzeniu zgodności danych jawnych z licencją.

0

EUREKA!!!

Dlaczego ja na to nie wpadłem?
Chyba przez to szukanie mnie zaćmiło.

W każdym razie można zrobić to tak:

  1. zakodować dane moim szyfrem
  2. policzyć sumę kontrolną md5(danych zakodowanych)

Dzięki wielkie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1