Releases: labgeek/HashHarvest
Release list
HashHarvest v0.7.0
HashHarvest (v0.7.0) is a PyQt5 desktop application for extracting cryptographic hashes from a folder of files. It scans recursively across PDF, text, log, CSV, JSON, XML, Markdown, and Microsoft Office files (Word .docx, Excel .xlsx, PowerPoint .pptx) — detecting MD5, SHA1, SHA256, and SHA512 values using exact hex-length matching with negative look-around so shorter patterns never collide with longer ones. Results are displayed live as the scan runs with the line number and surrounding context for each hit, and can be filtered in real time, right-click copied, exported to CSV or JSON, and automatically persisted to a local SQLite database. A built-in Watchlist lets you import known-bad hash lists and instantly highlights any matches red after each scan. A Scan History dialog lets you filter past scans by date range and reload any previous result set into the main UI for re-inspection or re-export.
HashHarvest v0.6.0
Added
- Full source file path is now shown as a tooltip on hover over the Source File column, so elided paths remain readable (
main.py)
Changed
- Version bumped to v0.6.0 in the GUI version label and window title (
main.py), with the window-title test updated to match (test_main.py) - Results table columns are all user-resizable (
Interactive) with sensible default widths; the last column stretches to fill leftover space (main.py) - Results table now elides long text in the middle (
ElideMiddle) so the drive root and filename of a path stay visible when a column is narrow (main.py) - README documents the new
.docx/.xlsx/.pptxparsing (file-types table and scope notes), notes that Office parsing adds no runtime dependencies, addsrequirements-dev.txtinstall instructions, and corrects theSUPPORTED_EXTENSIONSexample (README.md)
Cryptographic Hash Extractor v0.5.1
Changed
- Version bumped to v0.5.1 in version label and window title (
main.py) SUPPORTED_EXTENSIONSinreaders.pyis now derived from_DISPATCHkeys, eliminating the risk of the two sets drifting out of sync- Directory existence check in
search()replaced withos.path.isdir()directly, removing a redundantHashExtractorinstantiation
Fixed
- Added
closeEventtopdfAnalysisthat stops and waits for any running scan thread before the dialog closes, preventing a crash on close during an active scan - SQLite foreign key enforcement enabled via
PRAGMA foreign_keys = ONinHashDatabase._connect()— theREFERENCES scans(id)constraint onhash_resultswas previously decorative only - Removed truncated/broken comment block in
db.pythat was left mid-sentence above theHashDatabaseclass definition
Cryptographic Hash Extractor v0.5.0
Added
persistence/ package (persistence/db.py, persistence/init.py) with HashDatabase class — SQLite-backed store for scan metadata and per-file hash results
ScanHistoryDialog — modal dialog listing past scans with time-range filtering (Today / 7 / 30 / 90 days / All time) and a "Load Selected" action to restore historical results into the main UI
"Scan History" button in the main toolbar that opens ScanHistoryDialog
open_scan_history() and _load_historical_results() methods on pdfAnalysis to launch the dialog and repopulate results from a historical scan record
Cryptographic Hash Extractor v0.4.0
A PyQt5 desktop application for recursively scanning directories and extracting cryptographic hash values from multiple file types. Results are displayed in a sortable table and can be exported for downstream analysis or audit workflows.
What's New in v0.4.0
Multi-format scanning — extended beyond PDF to support TXT, LOG, MD, CSV, JSON, and XML files in a single scan pass
Selectable hash algorithms — choose any combination of MD5, SHA1, SHA256, and SHA512 before scanning; all four are enabled by default
CSV and JSON export — replaced the flat md5Output.txt output with structured exports; CSV includes Absolute_Path, Hash_Type, and Hash_Value columns
Threaded scan engine — scanning runs in a background thread so the UI stays responsive; a progress bar reflects completion in real time
Scan summary panel — reports files scanned, total hashes found, and skipped files at the end of each run
Built-in README viewer — open documentation without leaving the application
Rebranded UI — renamed to Cryptographic Hash Extractor with a refreshed header
HashExtractor v0.3.0 - SHA1, SHA256, and SHA512 Support
What's Changed
This release expands HashExtractor beyond MD5-only extraction. The app now detects MD5, SHA1, SHA256, and SHA512 hash values in PDF files and reports the hash type alongside each result.
New Features
- Added SHA1, SHA256, and SHA512 hash detection.
- Added a
Hash Typecolumn to scan results. - Updated CSV output to include
Absolute_Path,Hash_Type, andHash_Value. - Improved exact-length hash matching so shorter hashes are not matched inside longer hexadecimal strings.
- Updated the README with current behavior, build instructions, and app documentation.
Packaging
A standalone Windows executable is available in this release.
MD5Extractor v0.2.0
MD5Extractor v0.2.0
- Added enterprise-style PyQt5 GUI.
- Added threaded PDF scanning.
- Added results table.
- Added scan summary counters.
- Added README viewer window.
- Added Clear Form button.
- Updated README documentation.