Zapis danych do pliku z prostym szyfrowaniem

0

Mam pewien problem. Jestem w trakcie produkcji takiej mojej małej gry i nadszedł czas, w którym chcę dodać do mojej gry listę "High scores". I tu mam mały problem: Wprawdzie potrafię używać tego, co daje mi nagłówek <fstream>, ale chcę dodać do tego jakieś najprostsze szyfrowanie danych - tak, aby pierwsza lepsza osoba nie mogła tak po prostu otworzyć pliku zapisu i zmienić wyników. Słyszałem kiedyś o tym, że stosunkowo łatwo jest zamienić zmienne na ciąg bitów, zanegować każdy bit, i z powrotem zamienić na wcześniejsze typy. Byłbym wdzięczny na naprowadzenie mnie na właściwą drogę :)

Za pomoc dziękuję z góry :]

0

zapisuj binarnie i odczytuj binarnie.
Mozesz tez dodac do tego jakis algorytm szyfrujacy. Jaki? To raczej nie ma znaczenia. Jak ktos chce cos shakowac to shakuje. Najbezpieczniejsza opcja jest trzymanie wynikow na serwerze i nie dawanie dostepu klientowi do nich. Do tego musialbys jeszcze napisac tak by serwer nie przyjmowal bzdurnych danych (bo ktos moze zmiennic wartosc score na 100000 wiekszy i jezeli server bedzie bezmyslenie akceptowal to mozna latwo to zlamac)

0

Opcja multi to kwestia dalekiej przyszłości :)
Pokombinuje chwilkę i zobaczę co z tego wyjdzie. Jeżeli coś sensownego to wrzucę kod dla przyszłych pokoleń :D

for (int i = 0; i < 3; ++i) // przebiega po kolumnach
	{
		for (int j = 0; j < 10; ++j) // przebiega po rzędach
		{
			for (int k = 0; k < 8; ++k) // przebiega po literach imienia
			{
				if (HighScores[i][j].chName[k] == 0) SaveFile << '0'; // zero
				if ((int)(HighScores[i][j].chName[k]) < 100) SaveFile << '0'; // każda liczba...
				if ((int)(HighScores[i][j].chName[k]) < 10) SaveFile << '0'; // // ...ma 3 cyfry
				SaveFile << (int)(HighScores[i][j].chName[k]); // zapis
			}
			SaveFile << std::hex << HighScores[i][j].nScore; // zapisuje wynik szesnastkowo
			SaveFile << '*'; // koniec pierwszego wyniku

		}
	} 

Zdecydowałem się na taki prosty szyfr. Zamiana liter na ich kod ASCII, i zamiana wyniku na postać 16-tkową :D
Nie jest to trudne do złamania, ale zawsze coś XD

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