Creare Videogiochi - Game Developer
Un piccolo ma grande aiuto - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Programmazione (https://www.making-videogames.net/giochi/Forum-Programmazione)
+--- Forum: Visual Basic, Visual Basic.Net (https://www.making-videogames.net/giochi/Forum-Visual-Basic-Visual-Basic-Net)
+--- Discussione: Un piccolo ma grande aiuto (/thread-Un-piccolo-ma-grande-aiuto)



Un piccolo ma grande aiuto - Riddick - 07-06-2010

Siccome voglio fare un sistema di login con password (per ora sto testando) vorrei inserire la funzione di cambio password, però siccome in questo quaso non c'è un database ma c'è un exe da aprire:

sapete se c'è un modo per far scegliere la password all'amministratore(utente o altro xD)?


RE: Un piccolo ma grande aiuto - friskon - 07-06-2010

una password per che cosa ?


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Per accedere al mio programma, una volta messa la password parte il programma legge le righe di codice successive che servono per far parte l'exe del gioco.

Tipo quanto c'è un serial da inserire.


RE: Un piccolo ma grande aiuto - steve - 07-06-2010

non ho mai progettato niente di simile, però il modo più semplice suppongo sia memorizzare la password (opportunamente criptata) in un file.
l'unico inconveniente sarebbe che se qualcuno modifica o cancella il file la password cambia (però la puoi sempre recuperare decriptando il file modificato).

come algoritmo di criptazione/decriptazione puoi usare qualcosa di semplice, tanto difficilmente si riesce a decriptare tirando a caso.
le cose più semplici che mi vengono in mente sono:
- far corrispondere una lettera a un numero
es. password = ciao (c=56, i=240, a=12, o=0) codificato = 56,240,12,0

- far corrispondere una lettera al rispettivo codice ascii
es. password = ciao (c=99, i=105, a=97, o=111) codificato = 99-105-97-111

se vuoi complicarli un pò basta convertire i numeri da decimali a binari

altrimenti se cerchi in internet trovi algoritmi più efficaci, ma un pò più difficili da implementare

EDIT: ho trovato questo, molto valido e c'è già una dimostrazione di come implementarlo programmando


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Al dire il vero ho trovato un modo di memorizzare la password nel programma stesso facendo cosi:

Dim numero As String (dichiaro la variabile: "numero")


poi ho creato due textbox e due button.

Nel primo button ho messo:

numero = TextBox1.Text => cosi memorizzo quello che viene scritto nella TextBox1 nella variabile numero quando si clicca il button1

Poi nel secondo button:

Poi ho fattola prova se funzionava quindi stamapando nella seconda textbox la password, facendo cosi:

TextBox1.Text = numero

Cosi ho potuto vedere se la cosa è andata a buon fine, fin qui tutto ok, ma ora c'è un'altro problema.

Ora sto fatto del chiedere la password che si vuole lo fa ogni volta che si apre il programma quindi non va bene, se vado a creare una nuova Form logicamente la Form2 non ha la variabile: numero. Quindi ora dovrei trovare il modo di non far comparire più la scelta della password a un nuovo avvio del programma.


RE: Un piccolo ma grande aiuto - steve - 07-06-2010

no... così non và.
tu hai memorizzato il valore in una variabile, appena chiudi il programma la variabile si cancella e la tua password se ne và a farsi benedire.
invece che salvarla solo in una variabile la dovresti salvare anche in un file. così quando chiudi il programma la variabile si cancella, però la password rimane salvata su un file a parte.

dovrebbe strutturarsi in un modo simile:
- verifichi se esiste un file (in un percorso e con un nome da te scelto) contenente la password (possibilmente criptata)
- se esiste fai inserire la password (e username se vuoi) verificando se corrispondono, altrimenti...
- fai inserire una password che verra inserita a sua volta in un file (criptando la password)


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Lo so che si cancella, infatti è quello il problema, ma sicuramente ci sarà un modo di salvarla nel programma stesso... cripatre un password in un file non è una soluzione sicura, in quanto non è difficilissimo decriptarla.


RE: Un piccolo ma grande aiuto - GEARS_CORPORATION - 07-06-2010

(07-06-2010, 05:42 PM)SoulEater Ha scritto: Al dire il vero ho trovato un modo di memorizzare la password nel programma stesso facendo cosi:

Dim numero As String (dichiaro la variabile: "numero")


poi ho creato due textbox e due button.

Nel primo button ho messo:

numero = TextBox1.Text => cosi memorizzo quello che viene scritto nella TextBox1 nella variabile numero quando si clicca il button1

Poi nel secondo button:

Poi ho fattola prova se funzionava quindi stamapando nella seconda textbox la password, facendo cosi:

TextBox1.Text = numero

Cosi ho potuto vedere se la cosa è andata a buon fine, fin qui tutto ok, ma ora c'è un'altro problema.

Ora sto fatto del chiedere la password che si vuole lo fa ogni volta che si apre il programma quindi non va bene, se vado a creare una nuova Form logicamente la Form2 non ha la variabile: numero. Quindi ora dovrei trovare il modo di non far comparire più la scelta della password a un nuovo avvio del programma.
se cose sopra le ho fatte ank'io...mi ricordoooo la variabile erano la migliori: xD
dim x as currency
dim x as public
ecc.

x il problema potete chiedere su un altro forum di programmazione..forse vi possono aiutare nel modo giusto e + velocemente


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Ci sono riuscito! salvo la password nel progetto stesso!! Ora si va alla programmazione e alla sicurezza xD


RE: Un piccolo ma grande aiuto - steve - 07-06-2010

come hai fatto?


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Setto nelle impostazioni un stringa la quale poi quanto l'amministratore inserirà la nuova password memorizza la password in quella stringa/file e quindi anche se si chiude il programma la password rimane, questo "tool" lo sto facendo perchè a volte uno vuole creare un gioco per solo alcune persone o un gioco a pagamento e questo login lo permette anche se non è proprio una cosa professionale, ma comunque lo migliorerò sempre di più, certamente non può essere al livello di una trial in quanto non sfrutta l'id del pc per genrare il serial. Anche se cosi forse è meglio cosi non si possono fare crack xD. Però la sicurezza cosi non è al 100%.


RE: Un piccolo ma grande aiuto - steve - 07-06-2010

quindi ti appoggi su un altro file (quello delle impostazioni) per memorizzare la password (giusto?).
ma così facendo quando apri il file delle impostazioni non vedi scritta la password?


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Il file non viene creato nella cartella, il file rimane nel programma, come spiegarti, è tipo quanto imposti la variabile che assume un numero o una stringa, comunque prima di postarlo logicamente lo testo in tanti modi per vedere se si può scroprire la password.

La password verrà impostata tramite il pannello dell'amministratore la quale ha la password deflau: 0000 e sempre nel pannello la si può cambiare in modo tale di avere più sicurezza.


RE: Un piccolo ma grande aiuto - steve - 07-06-2010

non ho capito.

crei una variabile "password" di valore "0000"
scegli di cambiargli il valore in "1234" (non con il visual basic ma con il programma creato, come se fossi un utente)
la variabile "password" ora è "1234"
chiudi il programma, lo riapri.
ora la password (che dovrebbe essere "1234") è tornata "0000"

se hai trovato un modo per memorizzare la password senza appoggiarti a un file esterno (salvandola nel eseguibile del programma che stai facendo) mi interessa sapere come hai fatto, potrebbe tornarmi utile.


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Si esatto, non mi appoggio a nessun file esterno, la password viene salvata nel mio programma.

Quindi ti faccio un esempio:

la password deflaut del login è: NULLA XD, al momento che io cambio la password mettendo per esempio: 123456 la password viene memorizzata nel mio programma e non in un file esterno, a questo punto dove c'è il button del login ci ficco un codice dentro che SE (if) nella textbox1 c'è la password come impostata dall'amministratore allora logga sennò si fa inculo xD.

Poi al massimo ti farò capire meglio, ora sto facendo la Beta xD.


RE: Un piccolo ma grande aiuto - steve - 07-06-2010

hai verificato che la password modificata rimane memorizzata anche alla chiusura del programma?
tipo:
la password è NULLA
la modifico in CICCIO
chiudo il programma
riapro il programma
la password dovrebbe essere ancora CICCIO (ma secondo me è tornata NULLA, sicuro che memorizza?)


RE: Un piccolo ma grande aiuto - Riddick - 07-06-2010

Sisi, già testato...


RE: Un piccolo ma grande aiuto - Nos9110 - 27-08-2010

(07-06-2010, 11:57 PM)Kira Ha scritto: Sisi, già testato...

Strano....
Comunque non ho ben capito cosa vuoi fare... ma potresti o salvare la password in una cartella sfanculata in system32 criptata in md5 (impossibili decriptarla in quanto rilascia soltanto un hash)
oppure salvare la medesima password in md5 all'interno del registro di sistema di windows Wink ps mi spiegheresti per filo e x segno cosa devi fare?


RE: Un piccolo ma grande aiuto - Riddick - 27-08-2010

La discussione ha perso il suo scopo, ho già risolto.