Isso mesmo, Postei uma correção na função que decodifica, me enganei e coloquei 'D1' ao invés de 'DI', um erro bem bobo na verdade.
Para ter certeza de que as coisas estão funcionando direitinho eu fiz um programinha em Delphi utilizando a mesma rotina de criptografia utilizada pelos correios (http://www.cityinthesky.co.uk/opensource/dcpcrypt), esse programinha decodifica pelo campo CEP codificado com twofish + base64 + hash e gera um novo arquivo de texto com o código e o campo CEP decodificado, fiz a comparação dessa rotina com a minha rotina em PHP ( http://pastebin.com/SGPhCSG1) e está tudo OK, quanto as outras rotinas postadas eu não posso garantir nada pois não testei... Um abraço a todos, logo posto a nova base. Andrey Em 24 de abril de 2012 19:45, Mauro Matos <[email protected]>escreveu: > Olá Todos, > > Parece haver apanas um problema com a descodificação do campo > log_key_dne de alguns registros, que estão decodificados no campo cep > na mesma tabela (log_logradouro). > > Encontrei em > http://blog.otavio.info/2008/06/banco-de-dados-dos-correios.html, > uma função para PostgreSQL, postada por Allyson, que parece resolver o > problema. Aí e só atualizar o campo cep com uma instrução update. > > cep=# select count(*) from log_logradouro; > count > -------- > 855861 > (1 row) > > cep=# select count(*) from log_logradouro where cep <> > fncdecryptcep(log_key_dne); > count > -------- > 114323 > (1 row) > > cep=# UPDATE log_logradouro SET cep = fncdecryptcep(log_key_dne) WHERE > cep <> fncdecryptcep(log_key_dne); > UPDATE 114323 > > Consultando: > > cep=# SELECT log_logradouro.log_nome as "Logradouro", > log_bairro.bai_no as "Bairro", log_localidade.loc_no as "Localidade", > log_logradouro.ufe_sg as "UF", log_logradouro.cep as "CEP" FROM > log_logradouro, log_bairro, log_localidade WHERE > log_logradouro.bai_nu_sequencial_ini = log_bairro.bai_nu_sequencial > AND log_logradouro.loc_nu_sequencial = > log_localidade.loc_nu_sequencial AND log_logradouro.cep = '89280412'; > Logradouro | Bairro | Localidade | UF | CEP > ----------------------+--------+------------------+----+---------- > Rua Gerhardt Ziesche | Centro | São Bento do Sul | SC | 89280412 > (1 row) > > Lembrando que o campo cep, também está presente em outras tabelas. > > A função: > > Create or Replace Function fncdecryptcep(argkeydne varchar) Returns > varchar AS $fncdecryptcep$ > Declare > decryptedcep varchar := ''; > Begin > For i In 1..length($1) By 2 Loop > Case substr($1,i,2) > When 'X8','CN','8X','NC' Then > decryptedcep := decryptedcep || 1; > When 'Z0','EP','0Z','PE' Then > decryptedcep := decryptedcep || 2; > When '1B','GR','B1','RG' Then > decryptedcep := decryptedcep || 3; > When '3D','ID','D3','DI' Then > decryptedcep := decryptedcep || 4; > When '4C','JS','C4','SJ' Then > decryptedcep := decryptedcep || 5; > When '2A','HQ','A2','QH' Then > decryptedcep := decryptedcep || 6; > When '09','FO','90','OF' Then > decryptedcep := decryptedcep || 7; > When 'Y7','DM','7Y','MD' Then > decryptedcep := decryptedcep || 8; > When '5V','BK','V5','KB' Then > decryptedcep := decryptedcep || 9; > When 'UG','AL','GU','LA' Then > decryptedcep := decryptedcep || 0; > Else > Return Null; > End Case; > End Loop; > Return decryptedcep; > End; > $fncdecryptcep$ Language plpgsql; > > Comment On Function fncdecryptcep(argkeydne varchar) Is 'Função para > Descriptografar os CEPs do Banco de Dados do DNE'; > > Abraços > > > Em 24 de abril de 2012 11:16, Ademir Cristiano Gabardo > <[email protected]> escreveu: > > SELECT * FROM log_logradouro WHERE CEP = 89280412; > > > > Este é o cep do meu prédio... não está no DB. > > Por nome de rua tbm não "Gerhardt Ziesche" > > > > (Na busca dos correios)... > > Busca CEP > > Faça suas consultas individuais de CEP, destinadas a endereçamentos de > > objetos de correspondências a serem postadas nos Correios. > > 1 Logradouro(s) > > Logradouro Bairro Localidade UF CEP > > Rua Gerhardt Ziesche Centro São Bento do Sul SC 89280-412 > > > > > > _______________________________________________ > [email protected] > http://www.codeigniter.com.br > http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br > > --------------------------- > Oportunidade de negócio > http://www.franquiasargohost.net > --------------------------- > _______________________________________________ [email protected] http://www.codeigniter.com.br http://mail.codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br --------------------------- Oportunidade de negócio http://www.franquiasargohost.net ---------------------------

