Hash Me 1.2 (gui & cli versions)
Calculate the checksum using many methods for one or more files at a time. Save the results in a ‘.SUM’ text file for each given file.
Last update 2021-04-08
Take a look here, H.F.M repositories for other useful linux softwares.
-
If you just want to use it, simply download the ‘*.deb’ compiled version under the releases tab.
-
If you want to play inside code, see below “How to compile” section.
How it’s made
- Programmed with go language: golang
- GUI provided by Gotk3 (gtk3 v3.22), GUI library for Go (minimum required v3.16).
- I use home-made software: “Gotk3ObjHandler” to embed images/icons, UI-information and manage/generate gtk3 objects code from glade ui designer. and “Gotk3ObjTranslate” to generate the language files and the assignment of a tooltip on the gtk3 objects (both are not published at the moment, in fact, they need documentations and, for the moment, I have not had the time to do them).
Functionalities
- Create hash checksum for given files, allow to create .SUM files corresponding to each file.
- Includes Md4, Md5, Sha1, Sha256, Sha384, Sha512, Sha3_256, Sha3_384, Sha3_512, Blake2b256, Blake2b384, Blake2b512 methods.
- Several previews available (Tree or flat text display).
- Multi-file management.
- Concurrent files processing.
- OS reminder for Mac, Window, Linux (how to control checksum).
- Command line version available.
Some pictures
Main window.
Cli version
How to compile
-
Open terminal window and at command prompt, type:
go get github.com/hfmrow/hash-me
-
See Gotk3 Installation instructions for gui installation instruction.
-
To change gtk3 interface you need to use a home made software, (not published actually). So don’t change gtk3 interface (glade file) …
-
To change language file you need to use another home made software, (not published actually). So don’t change language file …
-
To Produce a stand-alone executable, you must change inside “main.go” file:
func main() { devMode = true ...
into
func main() { devMode = false ...
This operation indicate that externals data (Image/Icons) must be embedded into the executable file and/or that the internal behavior will be modified to adapt to the production environment.
Os informations (build with)
Name | Version / Info / Name |
---|---|
GOLANG | V1.16.3 -> GO111MODULE=”off”, GOPROXY=”direct” |
DISTRIB | LinuxMint Xfce |
VERSION | 20 |
CODENAME | ulyana |
RELEASE | #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 |
UBUNTU_CODENAME | focal |
KERNEL | 5.8.0-48-generic |
HDWPLATFORM | x86_64 |
GTK+ 3 | 3.24.20 |
GLIB 2 | 2.64.3 |
CAIRO | 1.16.0 |
GtkSourceView | 4.6.0 |
LiteIDE | 37.4 qt5.x |
Qt5 | 5.12.8 in /usr/lib/x86_64-linux-gnu |
- The compilation have not been tested under Windows or Mac OS, but all file access functions, line-end manipulations or charset implementation are made with OS portability in mind.
You got an issue ?
- Give information (as above), about used platform and OS version.
- Provide a method to reproduce the problem.