Newsgroup: it.comp.lang.visual-basic
Titolo: CRIPTARE DATI

Ciao amici del NG
ho la necessitą di criptare un file di solo testo.
Ho creato un textbox dentro il quale andrebbero inseriti i dati da criptare
e da decriptare.
Un commandbutton avvia l'operazione.
Trovo dei problemi nel momento in cui do l'istruzione al computer di
comportarsi in maniera diversa a seconda della lettera scritta.
Se ad esempio scrivo "ciao" lui dovrebbe riconoscere la lettera "c" ed
assegnargli il valore "2345" e via di seguito per la "i = 3456", la "a =
4567" e la "o = 5678".
per cui verrebbe fuori una scritta del genere = 2345 3456 4567 5678.
Come faccio poi per decriptare i dati  a leggere dei blocchi di caratteri
giustapposti ed assegnare a ciascuno un valore diverso?
se qualcuno puņ aiutarmi lo ringrazio vivamente.
Giovanni Gasparri
fgg...@tin.it
icq 30487720

Puoi anche evitare gli spazi, con la funzione Mid leggi la stringa 4 caratteri per volta e poi, con un select case,
assegni un carattere ad ogni numero.
Problema: è molto semplice decodificarlo......
Dovresti trovare una soluzione un po' più complessa, come ad esempio calcoli tra la posizione delle lettere, percentuale
di maiuscole, numero di vocali, lunghezza media delle parole, ecc. ecc.
Il problema è la reversibilità: devi studiare un algoritmo che ti permetta il processo inverso....
Purtroppo te lo devi inventare, pensarci un po' su e fare tante prove, poiché se lo chedi pronto è come nulla: altri lo
hanno creato, usato e sanno come decodificare il tutto.....
Fantasia... ^___^
Ciao,
Moreno
#sirri#@
morenosoft.com
(togliete "#" dall'indirizzo)
Moreno Sirri VB Site - 
http://www.morenosoft.com/MSVBSite/
Home Page - 
http://www.geocities.com/SiliconValley/Bridge/1414/
---------------------------------------------------------------------------
Le risposte alle tue domande le trovi sul Sito Comune di questo NewsGroup:
 
http://www.murialdo.it/it_lang_vb
---------------------------------------------------------------------------

Grazie Moreno per il tuo aiuto.
Sto facendo tutto il possibile ma non so come debbo fare per far ripetere il
ciclo di riconoscimento delle stringhe e poi scrivere il risultato ( la
decodifica) in una variabile capace ogni volta di aggiungere nuove lettere
alla fine.
Questo è il mio grande problema.
Ho programmato di ripetere il ciclo di riconoscimento tante volte quanto è
il valore len del textbox1
Ogni volta che ripete questo ciclo e che mi riconosce le lettere va a
salvare il risultato in una variabile. > Problema : la variabile è sempre la
stessa ed ogni volta che il ciclo si ripete vengono cancellate le lettere
precedenti.
Come posso fare per evitarlo?
Grazie

variabile=variabile & nuovalettera
cosě facendo accodi "nuovalettera" alla stringa "variabile" esistente.


Prova con questa piccola routine:
' Utilizzo : Pw : una qualsiasi stringa
' Mode = True : cripta, false : decripta
'K : é la chiave di codifica es. RELAX
Function EncDecPw(Pw As String, Mode As Boolean) As String
Dim S As String
Dim F As Integer
Dim A1 As Integer
Dim A2 As Integer
Dim KeyPos As Byte
Dim K As String
K = Chr$(82) & Chr$(69) & Chr$(76) & Chr$(65) & Chr$(88)
KeyPos = 1
For F = 1 To Len(Pw)
    A1 = Asc(Mid$(Pw, F, 1))
    A2 = Asc(Mid$(K, KeyPos, 1))
    If Mode Then
        S = S & Chr$(A2 + A1)
    Else
        S = S & Chr$(A1 - A2)
    End If
    KeyPos = KeyPos + 1
    If KeyPos > Len(K) Then KeyPos = 1
Next
EncDecPw = S
End Function
Io la utilizzo proficuamente per codificare le password dei prg...
Saluti
Genesio Conti - Calvizzano (NA) - Italy
E-Mail :  gen...@NOSPAMsofthome.net
( remove NOSPAM for answer )