MD5 Hashes in C# erzeugen – Benchmark und Geschwindigkeitsoptimierung

Für ein aktuelles Projekt im privaten Umfeld muss ich eine große Anzahl an MD5-Hashes erzeugen. Platz für Diskussion über Sinnhaftigkeit und Sicherheit von MD5-Hashes möchte in diesem Artikel ausdrücklich nicht geben, sondern mich viel mehr damit beschäftigen, wie sich mittels C# möglichst schnell MD5-Hashes generieren lassen.
Das .NET-Framework selbst bringt eine Klasse zum Erstellen von MD5-Hashes mit sich, welche mir nach ersten Versuchen jedoch etwas langsam vorkam. Somit habe ich mich auf die Sache nach alternativen Klassen und/oder Funktionen gemacht und bin auf eine Klasse von Syed Faraz Mahmood gestoßen. Hierbei handelt es sich um eine manuelle Implementierung seinerseits der RFC 1321 („The MD5 Message-Digest Algorithm“). Die Klasse kann kostenlos auf seinem Blog heruntergeladen werden.
Die Testumgebung
Für den Test habe ich 6 Listen (List<int>) mit verschieden vielen Zahlen erstellen. Je eine mit 1.000, 10.000, 50.000, 100.000, 1.000.000 und 10.000.000 Elementen.
Alle Listen wurden für beide Methoden (.NET-Framework MD5 Implementierung & manuelle MD5 Implementierung) […]

Neues Projekt: colorcodes.code-bude.net

ColorCodes - ÜbersichtHeute möchte ich mal wieder auf ein kleines Projekt von mir aufmerksam machen, welches ich vor einigen Minuten online gestellt habe. Es handelt sich hierbei um „colorcodes.code-bude.net“, eine kleine Webseite, welche euch eine Liste sämtlicher Farben präsentiert, die sich in der Color-Struktur des .NET-Frameworks befinden.
Auf der Einstiegsseite erhält man einen Überblick in Listenform, inklusive der RGB und hexadezimalen Darstellung der Farben. Über einen Link im jeweiligen Tabelleneintrag gelangt man auf eine Unterseite wie jene, wo noch einmal alle Informationen zur jeweiligen Farbe zusammengefasst sind.
ColorCodes - DetailansichtDas Ganze ist mehr Übungs- und Forschungsprojekt, denn ernsthafte Webseite. Zum einen hatte ich Lust auf […]

Gumzo.de: Crowdsourcing als Konzept für ein IT-Magazin

Gumzo.de LogoHeute möchte ich euch ein Projekt im Netz vorstellen, dessen Konzept ich ziemlich spannend finde. Konkret geht es um Gumzo.de, ein IT-Magazin, dass von seinen Betreibern selbst mit Plattformen wie Chip.de, Techcrunch.com oder Golem.de verglichen wird. Ob es diesem Anspruch gerecht wird möchte ich im folgenden Artikel nachgehen.
Was ist das Konzept hinter Gumzo?
Doch was ist denn nun so besonders an Gumzo? Das Konzept! Im Gegenteil zu redaktionellen Plattformen wie Heise.de oder Chip.de gibt es keine feste Redaktion hinter Gumzo. Alle Inhalte, also News, Fachartikel und Anleitungen werden durch die Community selbst geschaffen, weshalb Gumzo auch mit dem Slogan “Die neue Community für Entwickler” wirbt. Prinzipiell kann jeder sich anmelden und mitmachen. Um das Niveau hoch zu halten und die Qualität der Artikel zu sichern, wird sich auch […]

Wortschatz Leipzig Webservice mit C# nutzen

C# Sourcecode IconIn dem hier verlinken Artikel habe ich bereits eine kleine C# Library zur Verfügung gestellt, mit der man auf den Thesaurus Webservice des Wortschatz Leipzig Projekts zugreifen kann.
In diesem Artikel möchte ich nun kurz beschreiben, welche „Hürden“ es zu meistern galt, um den Webservice von C# aus ansprechen zu können. Trotz dessen, dass das Wortschatz Leipzig Team eine WSDL-Datei für Ihren Webservice zur Verfügung stellt, ist es mit dem reinen Hinzufügen einer Web- oder ServiceReference im Visual Studio nämlich nicht getan.
Wortschatz Leipzig Webservice einbinden
Als erstes muss eine ServiceReference auf den gewünschten Webservice erstellt werden. Für diesen Artikel nehmen wir mal den Thesaurus Webservice. Der Pfad zur WSDL-Datei, die man zum Anlegen der ServiceReference benötigt, lautet:
http://wortschatz.uni-leipzig.de/axis/services/Thesaurus?wsdl
Info: (Zum weiteren Verständnis.) Ich habe die ServiceReference “ThesaurusClient” genannt.
Nun […]

C#-API für den Wortschatz Leipzig Thesaurus

C# WebserviceAm Wochenende war ich auf der Suche nach einer Möglichkeit Synonyme zu einem Wort zu finden. Nach kurzer Suche im Netz bin ich auf das Openthesaurus-Projekt gestoßen, welches eine Offlinedatenbank mit Synonymen zum Download anbietet. Jedoch wollte ich gerne noch eine zweite Quelle als Vergleich haben. Nach weiterem Suchen bin ich dann auf den Thesaurus des „Wortschatz Leipzig“ Projekts gestoßen.
Diesen gibt es zwar nicht als Offlinevariante, jedoch wird ein Webservice angeboten.
Da dieser Webservice jedoch nicht ohne Weiteres im Visual Studio in die eigenen Projekte eingebunden werden kann und es mich einige Zeit und Nerven gekostet hat, herauszufinden wie ich den Webservice mit meiner Applikation zum Kommunizieren bewege, habe ich das Ganze mal in eine kleine Library gekapselt.
Wer keine fertige Library […]