lukegh (Normal User)
Newbie
Messaggi: 13
Iscritto: 15/02/2013
|
Ciao, vorrei realizzare un software che mi codifica il testo tramite l'utilizzo di una mia tabella..
Cioè vorrei che il software vada a sostituire le lettere con delle lettere da me assegnate..
ad esempio creo una tabella che dice:
a = s
b = x
c = e
d = r
insomma cosi a seguire vorrei creare un programma che mi converta il testo da "a" a "s" e viceversa.... Cosa mi consigliate di fare?
|
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Postato originariamente da lukegh:
Ciao, vorrei realizzare un software che mi codifica il testo tramite l'utilizzo di una mia tabella..
Cioè vorrei che il software vada a sostituire le lettere con delle lettere da me assegnate..
ad esempio creo una tabella che dice:
a = s
b = x
c = e
d = r
insomma cosi a seguire vorrei creare un programma che mi converta il testo da "a" a "s" e viceversa.... Cosa mi consigliate di fare? |
Potresti usare gli array di stringhe, cioè:
Codice sorgente - presumibilmente VB.NET |
Public Function Codifica(ByVal stringa As String) As String Dim cod As String cod &= stringa.Replace("a", "s"); cod &= stringa.Replace("b", "x"); cod &= stringa.Replace("c", "e"); cod &= stringa.Replace("d", "r"); ... Return cod End Function
|
Però non ti consiglio di usare le lettere, usa dei caratteri speciali, tipo "~", "`", "¬", etc.
|
|
GN (Member)
Guru
Messaggi: 772
Iscritto: 30/04/2011
|
Scusa LittleHacker secondo me è più elegante usare un dictionary:
Codice sorgente - presumibilmente VB.NET |
d("a")="s" d("b")="x" d("c")="e" d("d")="r" For Each i As String In d.Keys cod=cod.replace(i, d(i)) Next
|
|
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Postato originariamente da GN:
Scusa LittleHacker secondo me è più elegante usare un dictionary:
Codice sorgente - presumibilmente VB.NET |
d("a")="s" d("b")="x" d("c")="e" d("d")="r" For Each i As String In d.Keys cod=cod.replace(i, d(i)) Next
|
|
Ok, perfetto! Ho fatto così perché non lavoro più da un po' sul vb.net! E l'unica volta che ho provato a fare un criptatore/decriptatore, ho usato il metodo postato! |
|
lukegh (Normal User)
Newbie
Messaggi: 13
Iscritto: 15/02/2013
|
Appena possibile faccio delle prove e vi dico...
...non ti consiglio di usare le lettere, usa dei caratteri speciali... |
In realtà ho creato una mia "Tabella Caratteri" cosi da utilizzare sempre lo stesso sistema e riuscir a codificare/decodificare piccole frasi anche a mano...
NB: Non devo nascondere segreti della Nasa e i miei "AMICI" per quanto si possa dire che sanno usare il PC, non avranno la minima idea di come raggiungere il testo decodificato |
|
lukegh (Normal User)
Newbie
Messaggi: 13
Iscritto: 15/02/2013
|
Ho appena provato ed alcuni caratteri me li sballa...
Ora do qualche info...
"Cia" codificato è: "151E018".
Quando vado a decodificare "151E018" il programma si ritrova a fare:
15 = C
1E = i
01 = 7
8 = ?? <-- Da dove esce??
La mia tabella è:
15 = C
1E = i
01 = 7
0E = a
Cosa devo controllare?? Come posso risolvere??
PS: Provando a codificare "a" mi ritrovo con "018"... ma il codice che uso è questo:
Codice sorgente - presumibilmente Plain Text |
quindi dovrei ricevere come risultato "0E" e non questo strano "018".... Qualcuno sa delucidarmi??
|
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Postato originariamente da lukegh:
Ho appena provato ed alcuni caratteri me li sballa...
Ora do qualche info...
"Cia" codificato è: "151E018".
Quando vado a decodificare "151E018" il programma si ritrova a fare:
15 = C
1E = i
01 = 7
8 = ?? <-- Da dove esce??
La mia tabella è:
15 = C
1E = i
01 = 7
0E = a
Cosa devo controllare?? Come posso risolvere??
PS: Provando a codificare "a" mi ritrovo con "018"... ma il codice che uso è questo:
Codice sorgente - presumibilmente Plain Text |
quindi dovrei ricevere come risultato "0E" e non questo strano "018".... Qualcuno sa delucidarmi?? |
Non so perché, ma mi sembra che quei caratteri 01, 0E, li vede come esadecimali, e li converti in ASCII, prova ad usare "AE" o "AS" al posto di 0E e 01! |
|
lukegh (Normal User)
Newbie
Messaggi: 13
Iscritto: 15/02/2013
|
Postato originariamente da LittleHacker:
Non so perché, ma mi sembra che quei caratteri 01, 0E, li vede come esadecimali, e li converti in ASCII, prova ad usare "AE" o "AS" al posto di 0E e 01! |
Ho sostituito sia in codifica, sia in decodifica
Codice sorgente - presumibilmente Plain Text |
e viceversa
Ora se codifico "Ciao" mi ritrovo con: "151E14182A" e decodificandolo ottengo: "CiAEo"
dove invece di "AE" dovrei avere "a"...
Questi sono degli esempi però se invece di "Ciao" scrivo una decina di parole credo che otterrò tantissimi errori simili...
Per essere più chiaro:
Nel pulsate di codifica ho: d("a") = "AE"
invece nel pulsante di decodifica ho: d("AE") = "a"
Nella textbox scrivo "a", codifico ed ottengo: "1418"
guarda caso 14 e 18 sono rispettivamente le codifiche di A ed E... quindi il programma non so perchè
prende "a" e lo codifica ricevendo "AE" <-- Cioè a codificato
però a sto punto invece di fermarsi mi fa la codifica anche di A e E
È possibile risolvere? Ultima modifica effettuata da lukegh il 28/03/2013 alle 17:56 |
|
LittleHacker (Member)
Guru
Messaggi: 1033
Iscritto: 28/04/2009
|
Beh allora fai come ti ho detto al primo post, usa dei caratteri speciali, tipo ^, ` ~, etc.
Ultima modifica effettuata da LittleHacker il 29/03/2013 alle 1:00 |
|