GeraHash
Retorna um Hash do texto informado.
Esta função não é recomendada para arquivos que não sejam de texto. Entende-se por arquivo de texto, todo aquele que é possível editar pelo Bloco de Notas, disponível nos Sistemas Operacionais Windows. Documentos com extensões DOC, DOCX e PDF não são considerados arquivos de texto neste contexto.
Sintaxe: GeraHash(aTexto, aAlgoritmo, aRetorno);
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
aTexto | Alfa | Texto original |
aAlgoritmo | Alfa | É o algoritmo de dispersão, gerador do Hash. Atualmente permite os modos MD5, SHA1, SHA256 e SHA512 |
aRetorno | Alfa | Hash gerado |
Exemplo:
Geração de Hash a partir de um arquivo de texto.
Definir Numero arq;
Definir Numero qtdlido;
Definir Alfa dados;
Definir Alfa linhas;
Definir Alfa hashGerado;
linhas = "";
hashGerado = "";
qtdLido = 100;
arq = Abrir("c:\\arquivo.xml", Ler);
@ LENDO O ARQUIVO. @
Enquanto(qtdlido = 100){
QtdLido = Ler(arq, dados, 100);
linhas = linhas + dados;
}
Fechar(arq);
@ GERANDO O HASH DO ARQUIVO. @
GeraHash(linhas, "SHA1", hashGerado);
@ RETORNANDO UMA MENSAGEM COM O HASH GERADO. @
Mensagem(retorna, hashGerado);
@ A variável "hashGerado" retorna a "assinatura" do texto. @
Leitura de um arquivo XML e criação de um novo XML a partir do original contendo o Hash em uma tag.
Definir Numero qtdLido;
Definir Numero arqEntrada;
Definir Numero arqSaida;
Definir Numero qtdLido;
Definir Numero qtdGravado;
Definir Alfa vkEnter;
Definir Alfa dados;
Definir Alfa linhas;
Definir Alfa hashGerado;
Definir Alfa tags;
Definir Alfa tagProcurada;
Definir Alfa xmlFinal;
Definir Alfa nomeArqEntrada;
Definir Alfa nomeArqSaida;
@ INICIALIZANDO AS VARIÁVEIS. @
CaracterParaAlfa(13, vkEnter);
nomeArqEntrada = "C:\\arqEntrada.xml";
nomeArqSaida = "C:\\arqSaida.xml";
linhas = "";
hashGerado = "";
qtdlido = 100;
qtdGravado = 0;
tagProcurada = "</mensagem>"; @ TAG ONDE SERÁ INCLUIDO
O HASH. @
@ LENDO O XML. @
arqEntrada = Abrir(nomeArqEntrada, Ler);
Enquanto(qtdlido = 100){
qtdLido = Ler(arqEntrada, dados, 100);
linhas = linhas + dados;
}
Fechar(arqEntrada);
@ GERANDO O HASH DO XML. @
GeraHash(linhas, "MD5", hashGerado);
@ DEFININDO AS TAGS QUE SERÃO ADICIONADAS AO XML. @
tags = "<hash>";
tags = tags + hashGerado; @ CONCATENA O HASH GERADO COMO VALOR DA TAG @
tags = tags + "</hash>"; @ FECHA A TAG. @
tags = tags + vkEnter + tagProcurada;
@ INSERINDO A TAG COM O HASH NO XML. @
TrocaString(linhas, tagProcurada, tags, xmlFinal); @ SUBSTITUI A TAGPROCURADA
PELAS TAGS COM O HASH. @
@ SALVANDO O XML. @
arqSaida = Abrir(nomeArqSaida, Gravar);
TamanhoAlfa(xmlFinal, qtdGravado);
Gravar(arqSaida, xmlFinal, qtdGravado);
Fechar(arqEntradaSaida);
Utilização: Entre as aplicações de um Hash, destaca-se o uso na comparação de arquivos de texto, garantindo que a cópia enviada não sofreu alteração e na validação de senhas, que guarda o Hash da senha no banco de dados, aumentando a segurança.
Nota
Função disponível para os sistemas Gestão Empresarial PME | GO UP, Gestão Empresarial | ERP, Gestão de Pessoas | HCM e Ronda Senior.