FastHash - Ein einfaches und schnelles Programm für das Erstellen von Hashwerten für Dateien und Texte! Explorer-Binding-Support und mehr!

    • Release
    • Closed Source

    Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Davaxyr.

      FastHash - Ein einfaches und schnelles Programm für das Erstellen von Hashwerten für Dateien und Texte! Explorer-Binding-Support und mehr!

      FastHash - schnell und einfach Dateien und Texte hashen!

      Name:
      FastHash

      Beschreibung:
      FastHash ist ein Programm für das einfache Erstellen von Hashwerten. Es ist schnell und sehr einfach zu bedienen. Es unterstützt die Algorithmen MD5, und SHA-1 bis SHA-512. Auf Wunsch kann es in den Explorer eingebunden werden, was es auch leichter macht, für Dateien Hashwerten zu erstellen. FastHash hat auch eine Funktion, Hashwerten abzuspeichern oder zu Pastebin hochzuladen. Seit Version 1.1.0 gibt es die Funktion, Texte mit verschiedenen Algorithmen zu hashen. Diese Hashwerte kann man dann auch abspeichern oder hochladen.

      Screenshot(s):


      Verwendete Programmiersprache(n) und IDE(s):
      Visual Basic - Visual Studio 2013 Community Edition

      Systemanforderungen:
      .NET Framework 4.5.2
      Single-Core 1 GHz Prozessor
      32 MB Arbeitsspeicher
      2 MB freier Festplattenspeicher
      Aktive Netzwerkverbindung für die Funktion, Hashwerten zu Pastebin hochzuladen

      Systemveränderungen:
      Auf Wunsch, kann FastHash, sich im Explorer einbinden und/oder am Systemstart sich selber starten (beides Registry)

      Download(s):
      Aktuelle Version (1.1.0): FastHash_v1.1.0.zip (65 kB, ZIP-Archiv)

      Lizenz/Weitergabe:
      Closed Source - CC BY-ND 3.0 DE - https://creativecommons.org/licenses/by-nd/3.0/de/
      Dateien

      Dieser Beitrag wurde bereits 7 mal editiert, zuletzt von „Davaxyr“ () aus folgendem Grund: Update 1.1.0

      Nettes Tool, besonders die Explorer-Integration und das Pastebin-Feature sind interessant!

      Nur einige Fragen hätte ich:
      1. In wiefern ist es schnell? Wie schnell ist es, damit es das "Fast" im Namen verdient hat?
      2. Warum benötigt es 64MB RAM? Das scheint schon eine ganze Menge zu sein...
      3. Wie erstellst du die Hashes? Arbeitest du mit Streams?
      Das UI ist auch etwas arg überladen - Für drei Schritte, die der User machen muss ist da eindeutig zu viel Text. Auch hätte ich bei der Gelegenheit die Möglichkeit hinzugefügt, Prüfsummen erstellen zu lassen (z.B. CRC).
      @X-Zat Danke! Das "Fast" im Namen ist wegen der Schnelligkeit der Schritte da (also dass man halt schnell zum Erstellen des Hash kommt, und sich nicht mit Einstellungen rumschlagen muss). Und ja, ich glaube auch das 64MB RAM bisschen übertrieben war, also 32MB RAM braucht man mindestens. Ich erstelle die Hashes so: Ich lese bis zum Dateienende die Bytes und benutze TransformBlock anstatt ComputeHash, und ich benutze den FileStream um die Bytes zu lesen.

      Die UI wurde so gemacht, dass es eigentlich einfach zu benutzen sei. In der nächsten Version werde ich dann bisschen die UI überarbeiten, und auch CRC hinzufügen.
      Ich benutze immer HashTab, das ist schön weil es kein externes Fenster hat sondern direkt in den Dateieigenschaften auftaucht. Wenn du mal eine Herausforderung suchst, kannst du dir ja mal angucken, wie das geht.

      Davaxyr schrieb:

      Ich lese bis zum Dateienende die Bytes

      Ich hoffe, dass du damit nicht meinst, dass du alle Bytes aus der Datei in ein Array liest. Wenn doch, dann versuch mal eine Datei > 4 GiB zu hashen, mal ganz abgesehen davon, dass du Arbeitsspeicher verschwendest, den du eigentlich gar nicht brauchst. Lies die Datei Chunkweise und füttere den Algorithmus damit.
      Mfg
      Vincent

      @VincentTB Keine Sorge, ich lese die Datei Chunkweise. Joa, und ich gucke mir mal an ob ich das auch schaffe, einen Tab in den Dateieigenschaftsfenster reinzukriegen.
      @KidRick Danke! ^^

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Davaxyr“ ()

      Neues Update verfügbar (1.0.1)
      Dieses Update behebt einen kleinen Fehler, der bei Benutzung des Pastebin-Upload-Funktions bei inaktiver Internetverbindung auftritt. Hier klicken, um das Update zu downloaden! Wenn die Startup-Funktion und/oder die Explorer-Binding-Funktion aktiviert wurde, müsst ihr einmal die Option deaktivieren, und dann nochmal wieder aktivieren, sonst wird die alte Version für diese noch benutzt!
      Ich schließe mich @KidRick an und muss auch sagen: Tolles Design!

      Allerdings hab ich ein paar Sachen:
      1.) Wie kommt man auf das Fenster, in welchem man 2 Hashes vergleichen kann?
      2.) Finde ich besagtes Fenster ein wenig überflüssig. Reicht es doch Notepad zu öffnen und in Zeile 1 den ersten Hash und in Zeile 2 den zweiten Hash zu kopieren und selber zu vergleichen. Was ist (in diesem Fall) der Mehrwert deiner Anwendung?
      3.) Der Text auf dem UI ist etwas redundant geschrieben. Zu oft steht die selbe Information bzw die selben Wörter im gleichen View:
      - 3.) Hashen + Button mit Text "Hashen"
      - Im "Einleitungstext" würde die erste Zeile ausreichen. Dass der Benutzer Einfach Datei auswählen, dann den Algorithmus, dann die Hash-Operation starten und fertig! machen muss, ist (meiner Meindung) aufgrund der Numerierung bereits ersichtlich.

      Ich hoffe du nimmst mir die Kritik nicht übel, soll einfach nur konstruktives Mitdenken sein ;D Vielleicht kannst du ja das ein oder andere einbauen.
      Lg Radinator
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      @Radinator Joa, danke! ^^
      Zu 1.: Doppel-Klick auf der Hash-Textbox.
      Zu 2.: Bei langen Hashwerten ist es manchmal schwierig, und eine Vergleichen-Funktion ist eigentlich auch viel schneller.
      Zu 3.: Jop, werde ich dann in der nächsten Version editieren.
      Hi,

      funktioniert soweit. Einige Vorschläge:

      - About-Fenster und "Hash-vergleichen" Fenster sollte man mit ESC schließen können
      - Bei Hash vergleichen könntest du für die zweite (untere) Textbox automatisch den Inhalt aus der Zwischenablage einfügen (ggf. vorher mit RegEx prüfen ob es jeweils ein gültiger Hash ist).
      - Vielleicht magst du dein Logo nochmal überdenken - sieht in der Taskleiste wie 'ne Fehlermeldung aus
      - Eine CRC-Prüfsumme wie X-Zat schon sagte
      - So richtig "schnell" ist es nicht unbedingt, sind ja doch mehrere Steps. Theoretisch kannst du direkt nach der Dateiauswahl schon den Hash generieren. Und auch direkt wenn man einen von den Radiobuttons anklickt.
      - Ggf noch einen "Stack" erstellen, in dem du alle Ergebnisse (Pfad- und Dateiname sowie der Hash) speicherst.

      Ansonsten passt.


      Link :thumbup:


      www.marius-gerum.de
      PHP lernen | Programmierung | Sonstiger Krempel
      Zum Blog | PHP lernen | GitHub | Gists | List of awesome

      Bezüglich des Hash Vergleichens: Ich persönlich fände es umständlich den Hashwert kopieren und dann auf den Buttton drücken zu müssen.
      Meine Idee: Mach doch den Buton weg und lass bei jeder Interaktion mit der Textbox deine Prüfroutine laufen (ist zwar nur ein eifacher Stringvergleich zweier nahe beieinander stehender Texte - also IMHO weiterhin kein wirklicher Mehrwert). Dann wird einem gleich beim einfügen angezeigt, ob die Werte übereinstimmen (Auch wenn man einfach nur Strg+V, Tab und Enter machen müsste, aber so ist es halt noch mal bequemer ;D)
      In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
      @Link Zu 1.: Joa, werde ich machen.
      Zu 2.: Werde ich auch machen. ^^
      Zu 3.: Das Logo ist nicht von mir, ist von IconArchive. Hab aber nix besseres, meiner Meinung nach, gefunden.
      Zu 4.: Joa, das mache ich gerade.
      Zu 5.: Dieses werde ich leider nicht machen, denn der Nutzer sollte auch seine Eingaben überprüfen können, sonst wäre es z.B. bei Eingabefehlern schlecht (also wenn man z.B. eine falsche Datei gewählt hat, oder einen falschen Algorithmus gewählt hat).
      Zu 6.: Also wie ein Logbuch, wo alle Hash-Vorgänge gespeichert werden?

      @Radinator Jop, das werde ich machen. Ist ja auch viel bequemer. ^^
      Okay, ich habe FastHash seit langem nicht mehr aktualisiert. Changelog von Version 1.1.0:
      • Text-Hashing mit MD5, SHA-1, SHA-256, SHA-384, SHA-512 und RIPEMD-160 (mit sonstigem Kram wie das Speichern von Hashwerten und den Upload von Hashwerten)
      • Hash-Vergleich braucht kein Button mehr, einfach den anderen Hash einfügen und es zeigt direkt an, ob sie gleich sind
      • Der eingegebene Hash im Hash-Vergleichsfenster muss nicht mehr klein sein, es kann Upper-Case oder Lower-Case sein
      Andere Features wie das "Logbuch" oder CRC-32 kommen bald, habe aber jetzt erstmal ein paar Sachen integriert die ich eigentlich schon vorher machen wollte.




      Hier klicken, um das Update herunterzuladen! (1.1.0)