Página 1 de 1
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 11:39
por dbsh
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
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 12:35
por alxsts
Olá!
Obrigado por compartilhar.
- Qual a origem destes código (é confiável)?
- Onde foi definido CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM ?
- Qual a diferença entre os resultados de HashCapicom() e CriptCapiCom()?
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 12:52
por dbsh
São nativo do Windows, não requer DLL nem qualquer outro procedimento para funcionar
Hash - Cria uma validação para o texto/arquivo, pode ser usado para senha, também usado no PAF ECF, pelo fisco para saber se o executável foi alterado depois de homologado.
Cript - Criptograva usando padrão internacional, AES e outros, foi pro engano, esta incompleto, esta completo em outro post posterior a este.
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 13:05
por alxsts
Olá!
Obrigado.
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 13:45
por dbsh
Link da Criptografia - AES, DES, 3DES, RC2, RC4
https://pctoledo.org/forum/viewto ... 43&t=18510
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 20:11
por JoséQuintas
São nativo do Windows, não requer DLL nem qualquer outro procedimento para funcionar
Tem dia que de noite é fogo....
recursos da CAPICOM são.... da CAPICOM.
Caso ache interessante, pode baixar o KIT de desenvolvimento CAPICOM, CAPICOM SDK, que vém com exemplos.
https://www.microsoft.com/en-us/downloa ... x?id=25281
E se tiver a IDE do VB6, pode usar como auxílio pra pesquisa.
O esquema de #include do VB6 é diferente do Harbour.
As constantes são agrupadas por tipo de uso.
Isso é recurso da IDE, não exatamente do VB6.
Na imagem, as constantes referente a algoritmo, e embaixo que número representa.
Dá pra ver constantes, classes, propriedades, etc.
Pode ou não vir pré-instalada no Windows, mas nesse caso sem os exemplos.
Os exemplos em VBScript acho que podem ser usados diretamente no Harbour, aliás, muita gente usa isso sem saber que é VBScript. (Visual Basic Script)
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 29 Jul 2017 20:23
por JoséQuintas
testar no VB6 é interessante porque ele ajuda no fonte.
aqui mostrando métodos/propriedades

- ide1.png (6.67 KiB) Exibido 3812 vezes
aqui mostrando somente as constantes relacionadas ao que está sendo tratado (equivalente ao #define/CH filtrados)
Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4
Enviado: 10 Jun 2023 11:02
por Kapiaba
Very good.
Thanks.
Regards, saludos.