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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.