Jeśli taka rzecz jest naprawdę pożądana, to zamiast mieszania, możesz rozważyć zbudowanie ciągów z numerycznej wartości wejściowej w czasie wykonywania.
Zaletą jest to, że jak wskazał @Philipp, próba ukrycia kodów w pliku wykonywalnym jest nieco bezcelowa, jeśli można się spodziewać, że zostaną opublikowane w Internecie. Zaszyfrowane czy nie, to samo słowo znalezione w Internecie i wprowadzone do gry da ten sam skrót i będzie działało tak czy inaczej.
Z wyjątkiem ... chyba że kod innej osoby nie działa dla ciebie. Co możesz w prosty sposób zrobić - nie w 100% odporne na manipulacje, ale dość trudne do obejścia dla przeciętnego użytkownika. Wszystko, co jest tak proste, jak „Generator nazw elfów online”, może zrobić (może być dowolnie proste, naprawdę nie wymaga dużo silnika tekstowego genov markov, wystarczy pobrać 4-5 sylab z losowej listy).
Po prostu wygeneruj liczbę specyficzną dla użytkownika lub maszyny, nie musi ona nawet być całkowicie unikalna ani bardzo odporna na manipulacje. Coś, co prawdopodobnie różni się u większości ludzi i jest mało prawdopodobne, aby zmieniało się regularnie, np. Nazwa sieciowa komputera, adres MAC lub identyfikator GUID dysku systemowego, cokolwiek (numer seryjny karty graficznej może być bardzo złypomysł, ponieważ użytkownicy prawdopodobnie uaktualnią procesory graficzne). Dodaj do tego kod numeryczny, do którego odnosi się kod odblokowujący, i wprowadź go do generatora słów. Ale bądź przygotowany na udzielenie odpowiedzi na pytania wsparcia, gdy gracze korzystają z dwóch komputerów lub zmieniają kartę sieciową (co jest niezwykłe, ale nie niemożliwe). Dobrym pomysłem może być wygenerowanie losowego identyfikatora tylko raz i zapisanie go z ustawieniami gry. W ten sposób przynajmniej nie psuje istniejących instalacji na tym samym komputerze, jeśli coś się zmieni.
Możesz też użyć numeru seryjnego gry, który jest unikalny i zadziała, jeśli użytkownik zmieni sprzęt (jak na ironię może to promować piractwo, ponieważ wspólne kody odblokowujące działają w przypadku pirackich seriali, ale nie dla legalnych klientów!).
Pamiętaj, że zapobieganie oszustwom nie musi być dobrą rzeczą. W trybie offline (tj. W grze niekonkurencyjnej) zazwyczaj nie ma problemu, jeśli użytkownik oszukuje i pobiera kody gdzieś, a nie z gry. Oszukuje tylko siebie. Kogo to obchodzi.
Z drugiej strony, zbyt wiele im przeszkadza, jeśli naprawdę chcą oszukiwać, to świetna okazja do pełnego wkurzania płacących klientów.
Więc ... zanim zrobisz coś w ten sposób, zastanów się dokładnie, czy naprawdę tego chcesz i czego chcesz. Całkiem możliwe, że ciągi czytelne dla człowieka (lub w trywialny sposób „nieczytelne” za pomocą xor) są po prostu wystarczająco dobre i rzeczywiście preferowane.