Cast 128 ActiveX component v1.2Un semplice componente ActiveX che permette di criptare/decriptare dei
dati tramite l'algoritmo Cast128. Funge anche da codec base64 e da convertitore
da stringa ad Array e viceversa. Informazioni: (C) & Disclaimer |
||||||||||||||||||||||||||||||||||||
| L'implementazione di Cast128 utilizzata è stata fatta al di fuori degli USA. | ||||||||||||||||||||||||||||||||||||
|
Novità in questa versione: Aggiunta compatibilità con il metodo ASP Response.BinaryWrite
degli output di tipo Array ( cast128ArrayEnc, cast128ArrayDec,
b64ArrayEnc ) Indice0. Bug Conosciuti
3. Esempi d'uso
1. InstallazionePer installare questo componente: 1) Copia il file cast.dll in una cartella di sistema (c:\windows o c:\winnt
o c:\winnt\system32 o simili) Per disinstallare il componente: 1) Non cè un "modo pulito" per farlo. 2. Documentazione |
||||||||||||||||||||||||||||||||||||
|
Il componente usa Cast128 come algoritmo di criptazione. Si tratta di
un algoritmo di tipo "simmetrico", e quindi occorre usare la
stessa chiave sia per criptare che per decriptare dei dati. Il componente è stato creato originariamente per criptare dati importanti inviati tramite cookies (come login e password), si chiama "cast" ed implementa un'unica interfaccia chiamata "cipher". Per creare un'istanza di cipher si può usare il riferimento
simbolico "cast.cipher" oppure il CLSID {12BBFB97-0AEC-4837-8061-12CA8EAD166B} Per creare un'istanza in VisualBasic/VBScript: In ASP:
L'interfaccia di cipher si compone di questi metodi: 1) VARIANT cast128encode(VARIANT
key, VARIANT inString)
VARIANT cast128encode(VARIANT key, VARIANT inString) Cripta una stringa usando la chiave specificata in key. Restituisce una stringa base64. Usa cast128ArrayEnc se vuoi criptare un array. Parametri:
Restituisce: La stringa restituita è contenuta in un VARIANT.
VARIANT cast128decode(VARIANT key, VARIANT inBase64String) Decripta una stringa generata in precedenza da cast128encode(), usando la chiave specificata in key. Restituisce la stringa originale. Se vuoi decriptare un array usa cast128ArrayDec. Parametri:
Restituisce:
VARIANT cast128ArrayEnc(VARIANT key, VARIANT inArray) Cripta un array di byte usando la chiave specificata in key. Restituisce un array contenente i dati criptati. Se vuoi criptare stringhe usa cast128encode. Parametri:
Restituisce:
VARIANT cast128ArrayDec(VARIANT key, VARIANT inArray) Decripta un array di byte precedentemente criptato mediante cast 128 ed usando la chiave specificata in key. Restituisce un array contenente i dati decriptati. Se vuoi decriptare stringhe usa cast128decode. Parametri:
Restituisce:
VARIANT b64StrEnc(VARIANT inString) Codifica una stringa usando base64. L'output è una stringa base64. Se vuoi codificare array usa b64ArrayEnc. Parametri:
Restituisce:
VARIANT b64StrDec(VARIANT inBase64String) Decodifica una stringa codificata in base64. De vuoi decodifcare attay usa b64ArrayDec. Parametri:
Restituisce:
VARIANT b64ArrayEnc(VARIANT inArray) Codifica un array di bytes usando base64. L'output è una stringa
base64. Parametri:
Restituisce:
VARIANT b64ArrayDec(VARIANT inBase64String) Decodifica una stringa base64 e pone i dati in un array di bytes (unsigned 8 bit). Se vuoi l'output in una stringa usa b64StrDec. Parametri:
Restituisce:
VARIANT encode(VARIANT key, VARIANT inString) Un alias di cast128encode.
Un alias di cast128decode.
VARIANT toBArray(VARIANT inData) Converte una stringa in un array di bytes. Tale Array è utilizzabile con gli altri metodi della classe cipher (ad esempio b64ArrayEnc) e con il metodo ASP Response.BinaryWrite. Se vuoi convertire un array in una stringa usa il metodo toString. Parametri:
Restituisce:
VARIANT toString(VARIANT inArray) Converte un Array di interi o di byte in una stringa. Se vuoi convertire
una stringa in un Array di Byte usa il metodo toBArray. Parametri:
Restituisce:
3. Esempi d'usoCast Encrypt/Decrypt di una stringa in Visual Basic:
Set ObjCast = CreateObject("cast.cipher")
Dim tkey As Variant
Dim original As Variant
Dim encodedText As Variant
Dim decodedText As Variant
tkey = "the Key"
original = "Encoded Text"
encodedText = ObjCast.cast128encode(tkey, original)
decodedText = ObjCast.cast128decode(tkey, encodedText)
msgbox("Dati originali:" & original & vbNewline & "Dati criptati: " & encodedText & vbNewline & _
"Dati decriptati: " & decodedText)
Set ObjCast = Nothing
Cookies with ASP VBScript: settaggio di un cookie criptato
set objCast128 = server.createObject("cast.cipher")
response.cookies("CookieName")("server") = objCast128.cast128encode("pass", "www.anon.net" )
response.cookies("CookieName")("login") = objCast128.cast128encode("pass", "myname")
response.cookies("CookieName")("password") = objCast128.cast128encode("pass","mypassword")
Response.Cookies("CookieName").Expires = dateadd("d",10,date)
Response.Cookies("maiCookieNamelclient").Domain = "www.anon.net"
Response.Cookies("CookieName").Path = "/"
Response.Cookies("CookieName").Secure = false
Prelevamento di un cookie criptato
set objCast128 = server.createObject("cast.cipher")
encodedLogin = request.cookies("CookieName")("login")
encodedPassword = request.cookies("CookieName")("password")
encodedServer = request.cookies("CookieName")("server")
Login = objCast128.cast128decode("pass", encodedLogin )
Password = objCast128.cast128decode("pass", encodedPassword )
MyServer = objCast128.cast128decode("pass", encodedServer )
Base64 encoding/decoding di un array in ASP VBScript:
set objCast128 = server.createObject("cast.cipher")
OriginalArray = Array(1, 3, 90, 23, 66, 3)
strB64EncodedArray = objCast128.b64ArrayEnc(OriginalArray)
DecodedArray = objCast128.b64ArrayDec(strB64EncodedArray)
response.write("Dati originali: " & OriginalArray(0) & ", " & OriginalArray(1) & _
", " & OriginalArray(2) & ", " & OriginalArray(3) & ", " & OriginalArray(4) & _
", " & OriginalArray(5) & )
response.write("dati codificati in Base64: " strB64EncodedArray & )
response.write("dati decodificati: " & DecodedArray(0) & ", " & DecodedArray(1) & _
", " & DecodedArray(2) & ", " & DecodedArray(3) & ", " & DecodedArray(4) & _
", " & DecodedArray(5) & )
Cast encrypt/decrypt di un array in ASP VBScript:
set objCast128 = server.createObject("cast.cipher")
OriginalArray = Array(1, 3, 90, 23, 66, 3)
Key = "the Key"
Cast128EncryptedArray = objCast128.cast128ArrayEnc(Key,OriginalArray)
DecryptedArray = objCast128.b64ArrayDec(key, Cast128EncryptedArray)
response.write("dati originali: " & OriginalArray(0) & ", " & OriginalArray(1) & _
", " & OriginalArray(2) & ", " & OriginalArray(3) & ", " & OriginalArray(4) & _
", " & OriginalArray(5) )
response.write("dati criptati: " & Cast128EncryptedArray(0) & ", " & Cast128EncryptedArray(1) & _
", " & Cast128EncryptedArray(2) & ", " & Cast128EncryptedArray(3) & ", " & _
Cast128EncryptedArray(4) & ", " & Cast128EncryptedArray(5) )
response.write("dati decriptati: " & DecryptedArray(0) & ", " & DecryptedArray(1) & _
", " & DecryptedArray(2) & ", " & DecryptedArray(3) & _
", " & DecryptedArray(4) & ", " & DecryptedArray(5))
4. History
5. Struttura dell'output del metodo cast128encodeIl metodo cast128encode trasforma la stringa di input in un array di
unsigned char. Dopo di che codifica questo array mediante base64. Nel
caso in cui la stringa così ottenuta contenga un numero dispari
di blocchi di 4 byte (o blocchi del base64), vengono aggiunti 4 caratteri
di '=' alla fine. Ciò assicura che la stringa contenga un numero
di elementi multiplo di 8. La stringa è criptata con l'algoritmo
cast128. L'output viene nuovamente codificato in base64 per ottenere una
stringa ASCII.
|