Criar hashes MD5 em c# – testes de desempenho e otimização de velocidade

Eu tenho para o meu projeto atual em um ambiente privado para criar um grande número de hashes MD5. Espaço para discussão razoabilidade e segurança de MD5 hashes teria neste artigo expressamente não dá, mas empregar-me muito mais, como usar c# tão rapidamente como possível MD5 hashes gerar.

Isso. NET Framework em si leva uma classe para criar os hashes MD5 consigo mesmo, que me pareceu mas algo lentamente após as primeiras tentativas. Portanto eu fez-me na coisa a classes alternativas e/ou funções e tropeçou em uma classe de Syed Faraz Mahmood. Esta é uma implementação manual por sua vez o RFC 1321 (“o MD5 message-digest algorithm”). A classe pode ser baixada gratuitamente em seu blog.

O ambiente de teste

Para o teste eu tenho 6 listas (lista) com muitos diferentes números de criam. Cada um com 1.000, 10.000, 50.000, 100.000, 1.000.000 e 10.000.000 itens.

Todas as listas foram para os dois métodos (.) NET-Framework MD5 implementação & manual aplicação MD5) atravessam completamente e cada elemento da lista tem sido misturado. Isto foi cronometrado para os lista respectivos funcionamentos e aplicado em um gráfico, para melhor avaliar os resultados.

O código-fonte do meu teste de aproveitar você pode quer assistir no Github ou o Visual Studio projeto aqui baixar do meu blog.

Valor de referência – os resultados

Como remover os gráficos, a aplicação manual no corte é mais rápida do que a implementação de 2/3 da. NET Framework.

Resultados de benchmark de MD5

Além disso, pode-se dizer que esta vantagem de velocidade é constante. Que continue assim no 1/3 do tempo necessário também para grandes listas. Não foi observada uma queda no desempenho com a mudança no tamanho das listas.

Resultados de benchmark MD5 2

Pela minha parte, ser em para projeto futuro dependerá da implementação de Syed Faraz Marques e quero neste momento também ainda tempo sinceramente agradecer-lhe, para o grande trabalho que ele fez lá.

Suas experiências?

Você tem você empregado com este tópico ou até mesmo já implementa um algoritmo para a geração de hashes MD5? Você acha que meu teste para representante ou tem sugestões de melhoria? Feedback é sempre bem-vindo!

Sobre o autor: Este artigo, bem como 363 outros artigos sobre código-bude.net, escrito por Raphael. -Desde 2011 blog aqui sobre programação, meu software, escrever tutoriais e tentar o meu conhecimento, portanto ele vai bem, para compartilhar com meus leitores. Além disso, escrevo sobre temas de meus estudos sobre derwirtschaftsinformatiker.de. E-mail • Google + • Facebook • Twitter

2SHARESFacebookTwitterGoogleWhatsappRedditPocketStumbleuponPinterestXingMail