Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Codificare testo...
Forum - C# / VB.NET - Codificare testo...

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
lukegh (Normal User)
Newbie


Messaggi: 13
Iscritto: 15/02/2013

Segnala al moderatore
Postato alle 23:15
Martedì, 26/03/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?

PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:41
Mercoledì, 27/03/2013
Testo quotato

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

  1. Public Function Codifica(ByVal stringa As String) As String
  2. Dim cod As String
  3. cod &= stringa.Replace("a", "s");
  4. cod &= stringa.Replace("b", "x");
  5. cod &= stringa.Replace("c", "e");
  6. cod &= stringa.Replace("d", "r");
  7. ...
  8. Return cod
  9. End Function



Però non ti consiglio di usare le lettere, usa dei caratteri speciali, tipo "~", "`", "¬", etc.
:k:

PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 20:41
Mercoledì, 27/03/2013
Scusa LittleHacker secondo me è più elegante usare un dictionary:
Codice sorgente - presumibilmente VB.NET

  1. Dim d As New Dictionary(Of String, String)
  2. d("a")="s"
  3. d("b")="x"
  4. d("c")="e"
  5. d("d")="r"
  6. For Each i As String In d.Keys
  7.  cod=cod.replace(i, d(i))
  8. Next


PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 21:22
Mercoledì, 27/03/2013
Testo quotato

Postato originariamente da GN:

Scusa LittleHacker secondo me è più elegante usare un dictionary:
Codice sorgente - presumibilmente VB.NET

  1. Dim d As New Dictionary(Of String, String)
  2. d("a")="s"
  3. d("b")="x"
  4. d("c")="e"
  5. d("d")="r"
  6. For Each i As String In d.Keys
  7.  cod=cod.replace(i, d(i))
  8. 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!

PM Quote
Avatar
lukegh (Normal User)
Newbie


Messaggi: 13
Iscritto: 15/02/2013

Segnala al moderatore
Postato alle 2:34
Giovedì, 28/03/2013
Appena possibile faccio delle prove e vi dico...


Testo quotato

...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 :D

PM Quote
Avatar
lukegh (Normal User)
Newbie


Messaggi: 13
Iscritto: 15/02/2013

Segnala al moderatore
Postato alle 17:26
Giovedì, 28/03/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

  1. d("a") = "0E"


quindi dovrei ricevere come risultato "0E" e non questo strano "018".... Qualcuno sa delucidarmi??

PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 17:36
Giovedì, 28/03/2013
Testo quotato

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

  1. d("a") = "0E"


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!

PM Quote
Avatar
lukegh (Normal User)
Newbie


Messaggi: 13
Iscritto: 15/02/2013

Segnala al moderatore
Postato alle 17:44
Giovedì, 28/03/2013
Testo quotato

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

  1. d("a") = "AE"

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
PM Quote
Avatar
LittleHacker (Member)
Guru


Messaggi: 1033
Iscritto: 28/04/2009

Segnala al moderatore
Postato alle 0:57
Venerdì, 29/03/2013
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
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo