Un semplice sistema per criptare i dati della querystring

di Daniele Bochicchio, in Classic ASP, Misc, Tips,

Può capitare in alcuni contesti si renda necessario camuffare in qualche modo ciò che viene inviato via querystring.
Il motivo può essere anche evitare, molto banalmente, che un utente riesca a mandare al server ciò che desidera.
La tecnica utilizzata in questo esempio è nota come chars shifting e consiste nello spostare, molto semplicemente, il numero corrispondente nella tabella ASCII.
In realtà l'implementazione che ne facciamo noi utilizza semplicemente il valore numerico shiftato di ogni carattere, separandolo con un punto, ma nulla vieta di aggiungere un pezzo di codice che tramuti in "simboli" questi caratteri.
Per ragioni di semplicità sia in fase di encripting che di decripting, oltre che per migliore trasportabilità nella querystring, è stata preferita questa implementazione a metà.

<%
Dim chiave_cript
chiave_cript = 15

' encripting
Function EnCript(strVal)

 strVal = UCASE(Trim(strVal))

 for i = 1 to len(strVal)
   cript_ = cript_ & (Asc( Mid(strVal,i,1) ) + chiave_cript) & "."
 next

 EnCript = cript_

End function

' decripting
Function DeCript(strVals)
 strVal = Split(strVals, ".")

 for i = 0 to ubound(strval)-1
  cript_2 = cript_2 & Chr(strval(i)-chiave_cript)
 next

 decript = lcase(cript_2)

End function

Response.write ("Criptato: " & EnCript("Daniele") )
Response.write ("DeCriptato: " & DeCript(EnCript("Daniele")) )

%>

Ovviamente di tutto si tratta tranne che di un sistema sicuro. Ci sono tantissimi algoritmi che consentono di avere anche la sicurezza, questo è solo un sistema per scoraggiare eventuali burloni: dovranno fare molta più fatica per riuscire ad inviare le informazioni, specie se, ad esempio, la chiave è ricavata in base ai secondi correnti ;)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi