[firebase-br] Trigger
Tecnobyte Informática
temp2 em tecnobyte.com.br
Ter Ago 30 19:31:11 -03 2011
Não tenho sugestão para simplificar o processo, mas recomendo acrescentar
mais segurança no MD5 que você está calculado.
Eu colocaria um separador entre os campos antes de calcular o MD5, pois sem
o separador, algumas raras alterações poderão ser feitas sem mudar o MD5.
Veja um exemplo:
Campo1: AB
Campo2: CD
Calcular MD5 de Campo1 + Campo2, ou seja, ABCD.
Agora vamos alterar:
Campo1: A
Campo2: BCD
Calcular MD5 de Campo1 + Campo2, ou seja, ABCD.
Note que mesmo alterando, o MD5 será o mesmo, pois a junção de Campo1 +
Campo2 resulta na mesma coisa em ambos os casos.
Mas se você colocar um separador (pipe, por exemplo) ficará assim:
Primeiro caso: AB|CD
Segundo caso: A|BCD
E portanto terá MD5 diferentes.
Ainda sobre a segurança, recomendo acrescentar uma chave de segurança
(senha) na concatenação, tal como:
Campo1|Campo2|Senha
Assim, ninguém conseguirá gerar um MD5 válido do registro sem conhecer a
"Senha" utilizada.
Atenciosamente.
Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br
-----Mensagem Original-----
From: Levy Moreira
Sent: Tuesday, August 30, 2011 4:30 PM
To: FireBase
Subject: [firebase-br] Trigger
Pessoal para um dos testes do PAFECF(coisa da SEFAZ...) estou utilizando um
algoritmo um tanto complexo.
O que preciso fazer é simplesmente saber se os campos de uma tabela foram
alterados por fora do sistema,
Exemplo: Eu entro no meu sistema cadastro o cliente 1, depois entro no
ibexpert e altero o nome dele pra Zé.
Após essa alteração preciso de uma forma de verificar se o registro foi
alterado ou não fora do sistema, eu estou
codificando da seguinte forma:
-Concateno o registro todo, e gero o md5 salvando este nesse mesmo registro
(a concatenação não pega o md5)
-Sempre que altero no sistema o md5 é renovado, pelo ibexperto logicamente
não é, assim consigo descobrir se foi alterado.
Mas como disse dessa forma é muito trabalhoso, alguém sabe se tem como criar
uma trigger que identifique isso, algo milagroso como:
1-Esse update esta sendo realizado do sistema? Não? Então vou marcar este
flag como alterado.
Seria perfeito, assim bastaria criar uma trigger dessa pra cada tabela que
será testada e pronto.
Se alguém tiver alternativa melhor agradeço.
Obrigado a todos e desculpem o tamanho.
--
Levy Moreira - Juazeiro do Norte - CE
Mais detalhes sobre a lista de discussão lista