AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte MD5-Hash Berechnung
Thema durchsuchen
Ansicht
Themen-Optionen

MD5-Hash Berechnung

Ein Thema von faux · begonnen am 17. Sep 2005 · letzter Beitrag vom 18. Sep 2005
Antwort Antwort
Benutzerbild von faux
faux
Registriert seit: 18. Apr 2004
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.
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.
Miniaturansicht angehängter Grafiken
screenshot_168.gif  
Angehängte Dateien
Dateityp: rar md5_generator_299.rar (248,6 KB, 17x aufgerufen)
Dateityp: exe md5_generator_115.exe (28,0 KB, 14x aufgerufen)
Dateityp: zip md5_console_199.zip (55,2 KB, 18x aufgerufen)
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
 
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#2
  Alt 17. Sep 2005, 02:09
.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.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#3
  Alt 17. Sep 2005, 08:00
Zitat von Luckie:
.NEt 2.0 hab eich leider nicht installiert, würde es aber gerne teste.
Jap, werd ich machen.

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 Manuel
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#4
  Alt 17. Sep 2005, 10:07
Zitat von Khabarakh:
PS: Die public Felder sind ja immer noch drin .
Die von Thread oder meist du andere? Ich versteh einfach nicht was du meinst... Sorry..
Kannst du mir mal die Variablendeklaration der Klasse posten, so wie du sie machen würdest? Danke schon mal.
Faux Manuel
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh
 
#5
  Alt 17. Sep 2005, 10:22
Zitat von faux:
Zitat von Khabarakh:
PS: Die public Felder sind ja immer noch drin .
Die von Thread oder meist du andere? Ich versteh einfach nicht was du meinst... 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 von Dax:
Code:
public Thread Thread;
public string Output;
Das sind ja Public-Felder 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.
Sebastian
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#6
  Alt 17. Sep 2005, 11:00
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 Manuel
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#7
  Alt 17. Sep 2005, 12:51
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 Manuel
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

 
Turbo Delphi für Win32
 
#8
  Alt 18. Sep 2005, 15:21
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
Faux Manuel
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz