codice:
scala = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", " ", vbCrLf, "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "è", "à", "ù", "&", "/", "(", ")", "?", "^", "!", "$", "%", "§", "#", "-", "@")
' inseriamo il testo
testo = Me.text
'controlliamo la lunghezza del testo
lunghezza = Len(testo)
' mettiamo il testo in un array
For i = 1 To lunghezza
y = Mid(testo, i, 1)
For x = 0 To 52
If y = scala(x) Then
text(i) = x
End If
Next x
Next i
' calcoliamo la chiave
i = 1
Do While (i <= lunghezza)
casuale = Int((26 * Rnd) + 1)
chiave(i) = casuale
i = i + 1
Loop
' siccome con il precedente for mettiamo una sequenza casuale di numeri , trasformiamo la sequenza numerica nella
' chiave scritta
chiave_generata = ""
For i = 1 To lunghezza
chiave_generata = chiave_generata + scala(chiave(i))
Next
' ora si calcola il testo criptato
For x = 1 To lunghezza
crypt(x) = CInt(text(x)) + CInt(chiave(x))
' per non avere spazi o invi nella chiave
If crypt(x) = 27 Then
crypt(x) = Int((26 * Rnd) + 1)
ElseIf crypt(x) = 28 Then
crypt(x) = Int((26 * Rnd) + 1)
End If
Next
' si trasforma il testo criptato(numerico) ---> testo criptato(letterale)
testo_definitivo = ""
For i = 1 To lunghezza
y = scala(crypt(i))
testo_definitivo = testo_definitivo + y
Next
Open "C:\salva.txt" For Output As #1
Print #1, "Chiave generata"; vbCrLf; "----------------------------------------- Enry_Key -----------------------------------------"; vbCrLf; vbCrLf; "|"; chiave_generata; "|"; vbCrLf; vbCrLf; vbCrLf; "--------------------------------------- End Enry_Key ---------------------------------------"; vbCrLf; vbCrLf; vbCrLf; vbCrLf; "--------------------------------------------------------------------------------------------------"; vbCrLf; "Testo criptato"; vbCrLf; "--------------------------------------------------------------------------------------------------"; vbCrLf; vbCrLf; vbCrLf; vbCrLf; "|"; testo_definitivo; "|"; ""
Close #1