Skip to content

aca is a simple GUI application designed to generate MD5 checksums, copy files, and verify their integrity within a unified process. It is a "one-click" solution to securely back-up digital files with minimal friction

Notifications You must be signed in to change notification settings

realgoodegg/another-checksum-application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aca icon

aca is Another Checksum Application

aca is a simple GUI application designed for the purpose of generating MD5 checksums, copying files, and verifying their integrity within a unified process. aca can generate and verify MD5 checksums as individual processes or by simply hitting the "Copy" button, generate, copy and verify files all in one go!

The aim of the project is to provide a "one-click" solution for users to securely back-up their digital files with minimal friction or technical know-how.

aca demo gif

Note, I started this project to learn Python and I know there are many areas the code can be improved - if do take a look at the code, please be nice!

Requirements

aca is written in Python 3.9.x and the UI created in wxPython 4.2.0, it was initally built and tested for macOS Somona 14.2.

It requires the following additional Python libraries:

An executable app is available to download in the Release section, otherwise the app can be compiled with Pyinstaller:

pyinstaller --onefile --windowed --collect-submodules filehashingservice.py --icon aca_icon.icns --name "aca" aca.py

Checksum Generation

Checksums files are generated on per file basis and written to a .md5 file containing the 32-bit hexadecimal hash string and the filename:

122b179147f3a72134877283a9aa8f5d *filename.mp4

checksum file
.md5 checksum file

aca Operation

Select Files

Click the "Select Source Files" button to open the directory of files you want to process.

The directory path will be listed in the source dialog.

The source files will be listed in the "FILE" column of the main table and any with exisiting .md5 files associated with them will be listed alongside, in the "CHECKSUM" column. If no checksum file is present the cell will show "/".

file with no checksum
Files without checksums

If the file status in the source location changes for any reason (files added, removed etc.) click the "↻" button to refresh the source files in the file list.

Generate, Copy and Verify

Manually select individual files in the list or click the "Select All" to select the entire range. Click "Clear Selected" button to clear any selected files.

From here you have the option to generate new file checksums by clicking the "Generate ↓" button and where associated .md5 files already exist, verify the existing checksums by clicking the "Verify ↑" button.

If you intend to back-up the files to a new location, click the "Select Destination" button and select a directory. The directory path will be listed in the destination dialog.

Clicking the "Copy →" button, will generate the checksums, copy the files from their source directory to the destination directory and verify the file checksums at the destination.

The central file list, will apply any newly generated checksum hashes to the "CHECKSUM" column.

generated checksum
Generated checksums

Pass, Fail or Skip

Each row in the file list also has a status indicator for each file process:

Generate Copy Verify

For each process there is a Pass, Fail and Skip status:

Pass Fail Skip
X -
pass state
Pass status for generate, copy, verify
ignore and fail state
Skip and Fail status

Currently aca does not regenerate existing checksums or overwrite duplicate files in a destination directory when copying, in these circumstances the file operation will be skipped and the user notified in the relevant status column, Report page stat and log.

Report page and Logging

On completion the Report page to will display an overview of the file operations, including the number of files passed, failed or skipped, for each process, and list any failed files in the right hand table.

report page
Report page

The failed file list can be copied to the clipbaord by clicking the "Copy to Clipboard" button and the full log accessed for more details by clicking the "View Full Log" button.

Log files are stored in ~/user/Documents/aca/logs. A log file will be written each time the application is opened.

CC 4.0 Licence and Usual Disclaimers

another checksum application (aca)© 2023 by Thomas Luke Ruane is licensed under CC BY 4.0

This software is provided "as is", without warrany or liability. The author takes no responsbility for any system meltdowns or other misfortune that might occur from using this software (though I'm sure it'll be fine).

About

aca is a simple GUI application designed to generate MD5 checksums, copy files, and verify their integrity within a unified process. It is a "one-click" solution to securely back-up digital files with minimal friction

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages