VB Criptare stringe con un semplice algoritmo

Stato
Discussione chiusa ad ulteriori risposte.

marcello1993

Utente Electrum
22 Settembre 2009
181
41
25
161
Ragazzi, non sapendo che fare qualche mezz'ora fa, ho fatto una funzione che cripta
una stringa di testo con un semplice sfasamento delle lettere di 1...
ecco a voi il codice, ho messo qualche commento così dovrebbe essere più semplice da capire ... xD

Codice:
Public Function car(ByVal s1 As String) As String

Dim i As Integer

car = ""

'uso la try per gestire i vari errori

Try

Dim sInt(s1.Length - 1) As Integer

Dim s() As Char = s1.ToCharArray

For i = 0 To s1.Length - 1

' converto il carattere stringa in un carattere

' ASCII

sInt(i) = Asc(s(i))

'aggiungo 1 al valore ASCII del carattere

sInt(i) = sInt(i) + 1

'se s(i) > 117 va a 65

If sInt(i) + 1 > 117 Then

sInt(i) = 65

End If

' il carattere ASCII modificato

' torna carattere stringa

car = car & Chr(sInt(i))

Next

Catch ex As Exception

'riferisco un messaggio di errore per non

'far si che il programma si blocchi

MsgBox("Riferimento a un oggetto non impostato su un'istanza di oggetto.", MsgBoxStyle.Critical, "Errore")

End Try

End Function

ps: sono ben accetti +1 xD
 
critiche costruttive:
1) un algoritmo di criptazione ha senso se puoi usare anche un'algoritmo di decriptazione, altrimenti tanto vale fare kill(nomefile). Percio' aspettiamo l'algoritmo inverso.
2) il MsgBox nel trycatch non ha assolutamente senso. metti Msgbox(Err.Description). Per quale motivo dovrebbe essere un oggetto non impostato? Tale possibilità non è attuabile all'interno di quel codice :omfg:
3) se il codice va in errore, msgbox a parte, come lo gestisci? Cioè nulla vieta il proseguire dell'assegnazione di una stringa mal criptata

Ciauz

--- Aggiornamento Post ---

ps: sono ben accetti +1 xD
si possono dare anche i -1
 
una funzione differenzia da una sub, in quanto la funzione ritorna un valore/stringa mentre la sub no.
esempio di come usarlo (vale per qualsiasi funzione):
variabile= NOME_FUNZIONE(eventuali paramentri richiesti)

in questo caso
Codice:
dim testo as string
testo=car("TESTO DA CRIPTARE")
'ora testo contiene il testo criptato
'lo mostro con un messagebox
MsgBox (testo)

sono stato chiaro?
nel caso del messagebox puoi fare anche subito: MsgBox(car("TESTO DA CRIPTARE"))
ma ricordati i difetti che ho evidenziato di questo codice
 
cmq predator, non è un programma... è una funzione e come tale esegue un algoritmo...
l'ho fatta per mostrare alla gente un po' meno capace di come si potrebbe fare un semplice
cripter di stringhe... non vedo la necessità di fare il contrario visto che la stringa la metti tu!
 
Ultima modifica:
Allora... prima di tutto non l'ho definito io programma l'hai definito tu cosi, casomai sono io che correggo te:

Catch ex As Exception

'riferisco un messaggio di errore per non

'far si che il programma si blocchi

MsgBox("Riferimento a un oggetto non impostato su un'istanza di oggetto.", MsgBoxStyle.Critical, "Errore")

End Try

End Function
[/CODE]

Per definizione un algoritmo di cryptazione ha senso di essere tale quando propone anche il suo opposto. Altrimenti si parla di semplice manipolazione di dati. Pertanto o modifichiamo il topic e togliamo crittografia oppure Learn2IT e crea il codice mancante, sempre che tu ne sia capace.
 
Per definizione un algoritmo di cryptazione ha senso di essere tale quando propone anche il suo opposto. Altrimenti si parla di semplice manipolazione di dati. Pertanto o modifichiamo il topic e togliamo crittografia oppure Learn2IT e crea il codice mancante, sempre che tu ne sia capace.

Quoto Preddy :\
 
theGhost, forse non hai capito bene... quel pezzo di codice non "cripta" il codice sorgente, ma solo la stringa che gli passi.
poi l'utilità... non so ancora.
 
Per definizione un algoritmo di cryptazione ha senso di essere tale quando propone anche il suo opposto. Altrimenti si parla di semplice manipolazione di dati. Pertanto o modifichiamo il topic e togliamo crittografia oppure Learn2IT e crea il codice mancante, sempre che tu ne sia capace.

evidentemente se c'è scritto funzione per <criptare> una stringa ci sarà un motivo no? senno avrei scritto funzioni per criptare e <decriptare> una stringa...
 
Stato
Discussione chiusa ad ulteriori risposte.