Comparando imagens dentro de um banco de dados

Escrito em 20 de Junho de 2007 em Delphi, Práticas por Alexandre José

Imagine que você trabalha na FOX e o produtor dos Simpsons pediu que você montasse um banco de dados de imagens do seriado, mas, como detalhe, pediu que as imagens nunca se repetissem. 

Putz, como posso desenvolver isso?

  x  

Para esta dificuldade, uma das soluções que podemos utilizar é o MD5. O MD5 é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., usado por softwares com protocolo ponto-a-ponto (P2P), por exemplo. Através deste algorítimo podemos verificar se arquivos são iguais ou não. Isto incluem imagens!

Agora tudo ficou mais fácil! No final deste artigo existe um exemplo desenvolvido em Delphi 7 que possui uma Unit de funções chamada MD5.pas. Dentro dela existem funções que convertem vários formatos de entrada de dados para o hash MD5, tais como: MD5String, MD5File, MD5Stream e MD5DigestToStr.

Supondo que você fosse desenvolver o sistema de armazenamento de imagens, você utilizaria o MD5Stream para calcular o hash das imagens já armazenadas, jogando as mesmas dentro de uma variável TMemoryStream e o MD5File para o arquivo a ser inserido. Se eles forem iguais a imagem já existe no banco. Agora ficou fácil demais! :)

Download

Se você é novo por aqui, não deixe de assinar o feed RSS ou notificações por email. Não perca novos artigos!

Safari: Uma nova alternativa para navegar em Windows

Escrito em 11 de Junho de 2007 em Desenvolvimento Web por Leonel Togniolli

A Apple acaba de lançar o Safari, seu browser padrão do MacOS X, para a plataforma Windows. O download da versão beta já está disponível:

É mais uma alternativa na escolha de browsers, principalmente considerando os impressionantes números de performance promovidos na página do produto: renderização de páginas 2 vezes mais rápida do que no IE7, e 1.6 vezes mais rápida do que no FireFox, além de execução de JavaScript 2.8 vezes mais rápida do que no IE7, e os mesmos 1.6 mais rápidos que o FireFox. Resta ver se essa performance se prova na prática.

Talvez mais importante que isso, é a possibilidade de web designers que utilizam Windows poderem testar suas páginas no Safari mesmo sem ter acesso a um Mac. Até agora, a única alternativa seria utilizar um site como o iCapture, que captura um screenshot do seu site pelo Safari rodando no OS X. Aliás, se o iCapture despertou o seu interesse, não deixe de conhecer o netrenderer, que faz a mesma coisa utilizando diversas versões do Internet Explorer, e o BrowserShots, que cobre uma diversa gama de browsers no Mac, Linux e Windows.

Já estou experimentando o Safari, mas estou sentindo falta das extensions que uso no FireFox. Tenho a impressão que os nightly builds do Firefox 3.0 ainda serão o meu browser padrão por algum tempo.