Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   MD5-Hash Berechnung (https://www.delphipraxis.net/53463-md5-hash-berechnung.html)

faux 17. Sep 2005 02:57


MD5-Hash Berechnung
 
Liste der Anhänge anzeigen (Anzahl: 4)
Hallo!

Ich habe ein Programm programmiert, welches all MD5-Hashes von A über B, C, D, ..., Z, AA, AB, etc. bis zu einem einstellbaren Wert hin berechnet und ev. auch im MySQL-Format oder als CSV Speichert.
Das Programm ist in C# geschrieben und wurde mit dem Visual Studio 2005 Beta2 erstellt, ist daher also nur von wenigen Usern benutzbar (da .NET Framework 2.0 Beta benötigt wird).
Ein paar Screenshots:

http://img352.imageshack.us/img352/2...led13qy.th.gif http://img352.imageshack.us/img352/3...led25yj.th.gif http://img352.imageshack.us/img352/3...led30ov.th.gif

Das Programm kann benutzt werden, um eine MD5-Hash Datenbankanzulegen, um zum Beispiel nach einem passenden Text zu einem MD5-Hash zu suchen.

Mir ging es in erster Linie nicht um den Sinn, sondern das ist mein erstes C# Programm... ;)

Das Programm lagert die Berechnung in einen Thread und zeigt jede Aktion in einer ProgressBar an. Auch der Status der Berechnung wird in einem Feld angezeigt (rechts oben im Eck).

Was ich noch einbinden werde:
Direkte MSSQL-Anbindung, eventuell auch MySQL, Speichern im Excel-Format, Start-Wert festlegbar, etc.

Wie gesagt, mir ging es beim Programmieren nicht hauptsächlich um den Sinn des Programmes, sondern um die Ausführung. Ja, es ist nicht recht viel spezielles enthalten, aber nun ja. Jeder fängt klein an. :P
Vielleicht kann das Programm ja wer brauchen. (Ist auch gut zum Testen der MySQL-Limits geeignet.. *gg*) Falls es wer braucht, der kein .NET 2.0 hat, kann ich es in ein BDS 3.0 - Projekt geben und somit ein .NET 1.1 - Assembly machen... ;)

Grüße
Faux

Änderungen:
Es gibt jetzt auch eine Konsolenanwendung, welche sowohl für das .NET Framework 1.1 wie auch fürs Framework 2.0 Beta kompilliert wurde. Diese ist komplett gleichwertig wie die GUI-Anwendung.

Luckie 17. Sep 2005 03:09

Re: MD5-Hash Berechnung
 
.NEt 2.0 hab eich leider nicht installiert, würde es aber gerne teste. :(

Könntets du bitte die Screenshoits anhängen? Sonst haben wir in einem Monat Link-Leichen in deinem Beitrag, wenn die Screenshots vom Server verschwunden sind.

faux 17. Sep 2005 09:00

Re: MD5-Hash Berechnung
 
Zitat:

Zitat von Luckie
.NEt 2.0 hab eich leider nicht installiert, würde es aber gerne teste. :(

Jap, werd ich machen.

Zitat:

Zitat von Luckie
Könntets du bitte die Screenshoits anhängen? Sonst haben wir in einem Monat Link-Leichen in deinem Beitrag, wenn die Screenshots vom Server verschwunden sind.

Imageshack ist ein Service der extra für so einen Zweck ausgelegt ist, also zum Hosten von Bildern (sonst nichts). Die Bilder bleiben zwar zweiJahre lang drauf, aber ich häng sie trotzdem an... ;)

Grüße
Faux

faux 17. Sep 2005 11:07

Re: MD5-Hash Berechnung
 
Zitat:

Zitat von Khabarakh
PS: Die public Felder sind ja immer noch drin :wink: .

Die von Thread oder meist du andere? Ich versteh einfach nicht was du meinst... :wall: Sorry..
Kannst du mir mal die Variablendeklaration der Klasse posten, so wie du sie machen würdest? Danke schon mal.

Khabarakh 17. Sep 2005 11:22

Re: MD5-Hash Berechnung
 
Zitat:

Zitat von faux
Zitat:

Zitat von Khabarakh
PS: Die public Felder sind ja immer noch drin :wink: .

Die von Thread oder meist du andere? Ich versteh einfach nicht was du meinst... :wall: Sorry..
Kannst du mir mal die Variablendeklaration der Klasse posten, so wie du sie machen würdest? Danke schon mal.

Ich habe mich auf das bezogen:
Zitat:

Zitat von Dax
Code:
public Thread Thread;
public string Output;
Das sind ja Public-Felder :shock: Für solche Sachen nimmt man private Felder und ReadOnly-Properties ;)

Wie in Delphi solltest du keinen direkten Zugriff von außen auf Klassenfelder erlauben, sondern nur indirekt über eine Property. Gerade bei diesen zwei Feldern bietet sich eine Read-Only-Property an, da bei beiden ein Schreibzugriff nicht sehr viel Sinn macht.
Code:
class ThreadingClass
   {
      private Thread thread;
     
      public Thread InnerThread
      {
         get
         {
            return thread;  
         }
      }
   }
Noch besser fände ich es, wenn der Benutzer gar nicht auf den Thread zugreifen muss, sondern alles über Delegates geregelt wird.

faux 17. Sep 2005 12:00

Re: MD5-Hash Berechnung
 
SO?

Code:
private Thread InternalThread;
public Thread Thread
{
  get
  {
    return this.InternalThread;
  }
}
#region Variablendeklaration
private int UpperMaximum = 0;
public int Maximum
{
  get
  {
    return this.UpperMaximum;
  }
  set
  {
    this.UpperMaximum = value;
  }
}
private string OutText, OutMD5;
public string Text
{
  get
  {
    return this.OutText;
  }
}
public string MD5
{
  get
  {
    return this.OutMD5;
  }
}
private char[] valueString;
private int count = 0, Percent;
public int Percentage
{
  get
  {
    return this.Percent;
  }
}
private readonly char startChr = 'A', endChr = 'Z';
#endregion

faux 17. Sep 2005 13:51

Re: MD5-Hash Berechnung
 
Ich habe eine Konsolenanwendung angehängt, die eigentlich auch im BDS 3.0 kompillierbar sein müsste. Einfach nur den Code der Program.cs - Datei in eine BDS Konsolenanwendung kopieren.
Da mein BDS leider zur Zeit nicht richtig funktioniert, konnte ich es nicht testen und auch die GUI-Anwendung leider noch nicht fürs .NET Framework 1.1 erstellen. Der Code der Consolenanwendung ist jedoch ident mit der der GUI-Anwendung, mit der Einschränkung, dass die Consolenanwendung zur Zeit nur CSV's speichern kann. Speichern von sql-Dateien kommt aber noch.

Grüße
Faux

NACHTRAG:
Wer die CSV mit Excel ansehen will, sollte beachten, dass Excel "nur" 65536 Zeilen darstellen kann... ;)

NACHTRAG2:
Wie ich gerade gesehen habe, funktioniert der Fortschrittsbalken beim Speichern nicht (nur Konsolenanwendung), werde das aber noch beheben.

faux 18. Sep 2005 16:21

Re: MD5-Hash Berechnung
 
Die Konsolenanwendung wurde jetzt fürs 1.1er .NET Framework kompilliert ;)
Source ist für VS8 und BDS3 enthalten.
Die GUI hab ich noch nicht fürs 1.1er kompilliert, mach ich aber noch.

Grüße
Faux


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz