Código: Selecionar todos
//xp, window vista, 2003 server ou posterior
//Capicom.dll - Capicom 2.0 - Capicom.h
#define CAPICOM_HASH_ALGORITHM_SHA1 0
#define CAPICOM_HASH_ALGORITHM_MD2 1
#define CAPICOM_HASH_ALGORITHM_MD4 2
#define CAPICOM_HASH_ALGORITHM_MD5 3
#define CAPICOM_HASH_ALGORITHM_SHA_256 4
#define CAPICOM_HASH_ALGORITHM_SHA_384 5
#define CAPICOM_HASH_ALGORITHM_SHA_512 6
FUNCTION HashCapicom( sTexto, AlgoritimoHash )
LOCAL objHash
IF sTexto = NIL
sTexto := DToS(Date()) + Time()
ENDIF
IF AlgoritimoHash = NIL
AlgoritimoHash := CAPICOM_HASH_ALGORITHM_SHA_512
ENDIF
objHash := CreateObject("CAPICOM.HashedData.1")
objHash:Algorithm := AlgoritimoHash
objHash:Hash( sTexto )
//? "Hash.......: ", objHash:Value
//? "Hash Tamanh: ", Len(objHash:Value)
//?
RETURN objHash:Value
FUNCTION CriptCapiCom( sTexto, strHash, AlgoritimoCript, TamanhoChave )
LOCAL objEnc
IF AlgoritimoCript = NIL
AlgoritimoCript := CAPICOM_ENCRYPTION_ALGORITHM_AES
ENDIF
IF TamanhoChave = NIL
TamanhoChave := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM
ENDIF
objEnc := CreateObject("CAPICOM.EncryptedData.1")
objEnc:Algorithm := AlgoritimoCript
objEnc:Algorithm:KeyLength := TamanhoChave
objEnc:SetSecret( strHash )
objEnc:Content := sTexto
//? "Encriptado.: ", objEnc:Encrypt
//? "Encrip Tam.: ", Len(objEnc:Encrypt)
//? "Algoritimo.: ", objEnc:Algorithm
//?
RETURN objEnc:Encrypt


