Clipper On Line • Ver Tópico - Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor dbsh » 29 Jul 2017 11:39

//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
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
Avatar de usuário

dbsh
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jul 2004 14:19
Cidade/Estado: ES
Curtiu: 2 vezes
Mens.Curtidas: 15 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor alxsts » 29 Jul 2017 12:35

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()?
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2930
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor dbsh » 29 Jul 2017 12:52

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.
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
Avatar de usuário

dbsh
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jul 2004 14:19
Cidade/Estado: ES
Curtiu: 2 vezes
Mens.Curtidas: 15 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor alxsts » 29 Jul 2017 13:05

Olá!

Obrigado.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2930
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor dbsh » 29 Jul 2017 13:45

Link da Criptografia - AES, DES, 3DES, RC2, RC4
http://www.pctoledo.com.br/forum/viewtopic.php?f=43&t=18510
010011110010000001110011011101010110001101100101011100110111001101101111001000001110100100100000011000110110111101101110011100110111010001110010011101011110110101100100011011110010000001100001001000000110111001101111011010010111010001100101
01001101011000010111001001100011011011110111001100100000010000010110111001110100011011110110111001101001011011110010000001000100011001010010000001000010011011110110111001101001
0101010001100101011011000011101000100000001010000011001000110111001010010011100100101101001110010011100000110100001100110010110100110101001100100011100100110000
Avatar de usuário

dbsh
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 115
Data de registro: 14 Jul 2004 14:19
Cidade/Estado: ES
Curtiu: 2 vezes
Mens.Curtidas: 15 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor JoséQuintas » 29 Jul 2017 20:11

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/download/details.aspx?id=25281

E se tiver a IDE do VB6, pode usar como auxílio pra pesquisa.

vbccapicom.png


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)
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor JoséQuintas » 29 Jul 2017 20:23

testar no VB6 é interessante porque ele ajuda no fonte.

aqui mostrando métodos/propriedades

ide1.png
ide1.png (6.67 KiB) Visualizado 2450 vezes


aqui mostrando somente as constantes relacionadas ao que está sendo tratado (equivalente ao #define/CH filtrados)

ide2.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 17942
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Hash MD5, SHA1, SHA_256, SHA_384, SHA_512, MD2, MD4

Mensagempor Kapiaba » 10 Jun 2023 11:02

Very good.

Thanks.

Regards, saludos.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1765
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 310 vezes
Mens.Curtidas: 119 vezes




Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro