Archief - [PROG][java]score opslaan

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

schop aars

Legacy Member
ik zou een score moeten opslaan zodat die na het sluiten van het programma nog bestaat en zodat ik ze volgende keer als ik het programma open terug kan oproepen.

hoe doe ik dit het best?
als ik ze in een .txt bestand of een ander bestand opsla onder gewone ascii dan kan iedereen dat bestand met een texteditor openen en de score aanpassen wat niet de bedoeling is.

ik zou het natuurlijk wel kunnen encrypten maar daar heb ik nog geen praktijkervaring mee(eventueel doe ik dit als er geen beter oplossing is.)

nu is mijn vraag naar jullie toe of iemand een betere manier heeft om dit te doen?

Yngwie

Legacy Member
schrijf zelf een simpel encryptie scriptje die een paar omkeerbare bewerkingen doet zodat de de txtfile niet zo simpel aan te passen in. bijvoorbeeld alle letters omzetten naar hun ascii-waarde en alle cijfers gebruik als ascii-waarde en geef je de letters van weer in je txtfile

alva848

Legacy Member
Schrijf het naar de registry. Ok, het kan dan nog wel veranderd worden maar het is toch al wel wat moeilijker.

Vich

Legacy Member
Zoals alva848 zegt, is het register vermoedelijk de betere optie. Als je een hele simpele encryptie wil doen, dan kan je best XOR gebruiken, want:

Data XOR Sleutel = DataEncrypt
DataEncrypt XOR Sleutel = Data

Makkelijk hee :)

In de praktijk heb je zoiets:
"Mijn Data" ga je XOR'en met een sleutel "key" op deze manier:
"Mijn Data" XOR "keykeykey" -> "....."
daarna:
"....." XOR "keykeykey" -> "Mijn Data"
Je laat je key dus gewoon herhalen, omdat je key niet even groot is dan je data.

Deze encryptie is natuurlijk heel simpel te hacken, maar 't biedt genoeg veiligheid voor wat jij nodig hebt. Een normale user kan dit nooit hacken.

.Acku.

Legacy Member
alva848 zei:
Schrijf het naar de registry. Ok, het kan dan nog wel veranderd worden maar het is toch al wel wat moeilijker.

Behalve dan dat Java apps geen regisrty gebruiken wegens platform independant (het kan via JNI, maar is tegen de algemne regels, en tevens iets complexer als in Win32 talen).

Eigen encryptie kun je doen. De Java API heeft trouwens standaard wat algoritmen mee:
Code:
    try {
        // Generate a temporary key. In practice, you would save this key.
        SecretKey key = KeyGenerator.getInstance("DES").generateKey();    
        // Create encrypter/decrypter class
        DesEncrypter encrypter = new DesEncrypter(key); 
        // Encrypt
        String encrypted = encrypter.encrypt("Don't tell anybody!");    
        // Decrypt
        String decrypted = encrypter.decrypt(encrypted);
    } catch (Exception e) {
    }

Gebruik de DesEncrypter klasse van: http://javaalmanac.com/egs/javax.crypto/DesString.html

Je moet dan wel de key saven om te kunnen decrypten later. Dat mag imo in een standaard binaire file. De encrypted data gewoon in een andere file (beide als ASCII is fine).

.Acku.

Legacy Member
Om even op de registry vcraag terug te komen. Er is nu een Preferences API die zich zowat als een onafhankelijke registry gedraagt. Werkt zo:

import java.util.prefs.*;

Code:
public class Gadget {
    // Preference keys for this package
    private static final String NUM_ROWS = "num_rows";
    private static final String NUM_COLS = "num_cols";

    void foo() {
        Preferences prefs = Preferences.userNodeForPackage(this);

        int numRows = prefs.getInt(NUM_ROWS, 40);
        int numCols = prefs.getInt(NUM_COLS, 80);

    }
}

Meer info op: http://java.sun.com/j2se/1.5.0/docs/guide/preferences/
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan