[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