Skip to content

Latest commit

 

History

History
88 lines (61 loc) · 4.65 KB

README.md

File metadata and controls

88 lines (61 loc) · 4.65 KB

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.