batatinha que era então o que eu disse, ambiente NLS/characterset e/ou precisão numérica do database era (como só podia ser, mesmo) diferente do Java em JVM externo ao database, okdoc ... Sim, vc centralizar dentro do database o cálculo é uma possibilidade para não cair em diferencinhas de ambiente, correto... []s Chiappa
--- Em oracle_br@yahoogrupos.com.br, Oscar Wilman Costa Pirez <owcpirez@...> escreveu > > Laurindo, sim é Hash MD5 do Oracle era diferente do gerado pelo Java. > > No Oracle estava usando: DBMS_CRYPTO.Hash (vXml_, DBMS_CRYPTO.HASH_MD5); > > Achei a solução aqui: > > https://forums.oracle.com/message/10188524#10188524 > > Ou seja coloquei essa função Java no banco oracle e estou usando ela, já > que o aplicativo que verifica meu Hash MD5 gerado não é meu e é em java, > ficou tudo beleza. > > Muito obrigado Laurindo pela atença e ajuda. > > > Em 3 de setembro de 2013 14:20, Oscar Wilman Costa Piriz <owcpirez@... > > escreveu: > > > Laurindo, sim é Hash MD5 do Oracle era diferente do gerado pelo Java. > > > > No Oracle estava usando: DBMS_CRYPTO.Hash (vXml_, DBMS_CRYPTO.HASH_MD5); > > > > Achei a solução aqui: > > > > https://forums.oracle.com/message/10188524#10188524 > > > > Ou seja coloquei essa função Java no banco oracle e estou usando ela, já > > que o aplicativo que verifica meu Hash MD5 gerado não é meu e é em java, > > ficou tudo beleza. > > > > Muito obrigado Laurindo pela atença e ajuda. > > > > > > Em 2 de setembro de 2013 17:53, J. Laurindo Chiappa < > > jlchiappa@...> escreveu: > > > > ** > >> > >> > >> Colega, a pergunta é : o hash MD5 calculado pelo database está dando > >> diferente em relação ao calculado PELO QUE, exatamente ** QUAL ** rotina > >> que vc usou para calcular o hash md5 e comparou com o cálculo do database e > >> "deu diferença" ??? Essa tal rotina é Externa ao database ???? SE SIM, É > >> Evidente que podem sir haver diferenças entre o ambiente do database e o de > >> uma tool externa, como POR EXEMPLO as CODIFICAÇÂO de caracteres, como > >> https://forums.oracle.com/thread/2362515 , digamos, ou a PRECISÂO > >> NUMÉRICA, que pode ser diferente entre o database e uma tool externa ... > >> Yep ??? > >> > >> Outro ponto : APESAR de vc não ter confirmado ainda, eu Entendo que vc > >> quer calcular e guardar um hash porque o conteúdo do CLOb vai ser de alguma > >> maneira enviado por rede/baixado e vc quer confirmar que não houve > >> corrupção, correto ?? Esse HASH atuaria portanto muito mais como um > >> CHECKSUM que qquer outra coisa... > >> Assim, se eu estou certo nessa Suposição, JUSTAMENTE para 'escapar' de > >> eventuais diferenças de configuração/ambiente, eu RECOMENDARIA que OU o > >> cálculo e a verificação pós-download sejam feitos sempre pelo mesmo > >> database , OU então que vc faça sempre tanto o cálculo e armazenamento numa > >> coluna da tabela Quanto a verificação pós-download pela APLICAÇÃO (que > >> seria a constante desse cenário), Ou então (se o usuário que baixou o > >> conteúdo do CLOB) não tem acesso á Aplicação, que o cálculo E a verificação > >> pós-download do hash seja feito no Sistema Operacional, com alguma tool a > >> que tanto a aplicação quanto o usuário que fez o download tenham acesso , > >> tipo o comando de cksum do SO, digamos.... > >> > >> []s > >> > >> Chiappa > >> > >> --- Em oracle_br@yahoogrupos.com.br, Oscar Wilman Costa Pirez <owcpirez@> > >> escreveu > >> > > >> > Aqui estamos com o banco 10.2 > >> > > >> > Estou usando o comando: *dbms_crypto.hash(CONTEUDO, > >> dbms_crypto.HASH_MD5);* > >> > > >> > Hash gerado: *994CF2F75506C8E4A2C0BEFD0E0B7D34* > >> > Hash esperado: *118b260f200394ba14c1c424a497e230* > >> > >> > > >> > Como viram está gerando o hash diferente, está faltando alguma coisa? > >> > > >> > > >> > Em 2 de setembro de 2013 14:53, Oscar Wilman Costa Piriz <owcpirez@ > >> > >> > > escreveu: > >> > > >> > > Aqui estamos com o banco 10.2 > >> > > > >> > > Estou usando o comando: *dbms_crypto.hash(CONTEUDO, > >> dbms_crypto.HASH_MD5); > >> > > * > >> > > > >> > > Hash gerado: *994CF2F75506C8E4A2C0BEFD0E0B7D34* > >> > > Hash esperado: *118b260f200394ba14c1c424a497e230* > >> > >> > > > >> > > Como viram está gerando o hash diferente, está faltando alguma coisa? > >> > > > >> > > > >> > > Em 2 de setembro de 2013 11:38, Oscar Wilman Costa Pirez < > >> > > owcpirez@> escreveu: > >> > >> > > > >> > > Muito obrigado Laurindo, vou dar uma olhada aqui. > >> > >> > >> > >> Eu quero o HASH mesmo, preciso guarda-lo para utilizar depois. > >> > >> > >> > >> Estamos gerando o arquivo para o TISS em XML e precisamos o HASH do > >> > >> conteúdo desse arquivo. > >> > >> > >> > >> > >> > >> Em 2 de setembro de 2013 09:25, J. Laurindo Chiappa < > >> > >> jlchiappa@> escreveu: > >> > >> > >> > >> ** > >> > >> > >>> > >> > >>> > >> > >>> Bom dia, tudo joinha ?? A primeira coisa que se pergunta, PARA QUE > >> vc > >> > >>> precisa disso , e QUAL versão Exata do RDBMS vc está usando ????? > >> > >>> SE for para comparar CLOBs E SE for versão 10g ou acima, vc usa a > >> > >>> DBMS_LOB.COMPARE(clob1, clob2), que faz exatamente isso : calcula > >> um hash > >> > >>> para ambos os CLOBs e retorna se foi o mesmo resultado para os dois > >> ou > >> > >>> não... > >> > >>> Já se não é para comparação , e vc realmente quer armazenar para uso > >> > >>> posterior o hash, para não fazer o cálculo manualmente aí vc pode > >> usar > >> > >>> dbms_obfuscation_toolkit.MD5 (calcula um hash M5), ou talvez a > >> ora_hash > >> > >>> .... Consulte a Documentação e verifique as limitações de cada uma, > >> e em > >> > >>> caso de dúvidas retorne pra gente os detalhes TODOS que a gente > >> pode tentar > >> > >>> palpitar mais... > >> > >>> > >> > >>> []s > >> > >>> > >> > >>> Chiappa > >> > >>> --- Em oracle_br@yahoogrupos.com.br, Oscar Wilman Costa Pirez > >> <owcpirez@> > >> > >>> escreveu > >> > >>> > >> > >>> > > >> > >>> > Bom dia a todos, > >> > >>> > > >> > >>> > Estou precisando calcular o HASH de uma coluna do banco do tipo > >> CLOB, > >> > >>> > alguém sabe se isso é possível? Alguém já fez isso? > >> > >>> > > >> > >>> > Desde já muito obrigado pela ajuda! > >> > >>> > > >> > >>> > > >> > >>> > [As partes desta mensagem que não continham texto foram removidas] > >> > >>> > > >> > >>> > >> > >>> > >> > >>> > >> > >> > >> > >> > >> > > > >> > > > >> > > -- > >> > > > >> > > Sds. > >> > > Oscar Piriz > >> > > Ti - Hospital Jorge Valente > >> > > > >> > > >> > > >> > [As partes desta mensagem que não continham texto foram removidas] > >> > > >> > >> > >> > > > > > > > > -- > > > > Sds. > > Oscar Piriz > > Ti - Hospital Jorge Valente > > > > > [As partes desta mensagem que não continham texto foram removidas] >