Coder Social home page Coder Social logo

puc-2021-2-java-hash-calculator's Introduction

Hash Calculator

This project was built for the Security and Data Criptography subject in my Computer Science course.

It was written in Java and is composed of a GUI to calculate MD5, SHA-1 and SHA-256 hashes of multiple files.

You can download the latest release here.

Screenshots

In the main window you can select the directory that you wish to calculate the files' hash:

Main Window

After pressing on the Calculate hash! button, a file will be generated and this message will show up:

Success Message

The generated file contains a TSV report (table separated), which will look like this:

File MD5 Hash
/tmp/test
/tmp/test/comandosADBUniversais.pdf 2762c703d6cf917691e6264c2dee0033

Building the Application

No IDE was used to create this project, I've only used VS Code and built everything manually with javac.

Dependencies (check if the following commands are available):

  • java
  • javac
  • jar

Building on Linux:

You can build the application with the shell script:

$ ./build.sh

You can then run the application with:

$ java -jar build/HashCalculator.jar

Or double-click it through the GUI.

Building on Windows

You can try to convert the build.sh script into a batch script, or run the following commands on cmd:

Warning: This was NOT YET TESTED.

javac -d build Main.java gui\GlobalState.java gui\components\FileSelector.java gui\DefaultWindow.java gui\MainPanel.java gui\workers\DirectoryHashWorker.java gui\MainWindow.java gui\DefaultPanel.java hash_calculators\FileHashCalculator.java

cd build

jar cvfm HashCalculator.jar ..\META-INF\MANIFEST.MF Main.class Main$1.class gui\MainPanel.class gui\components\FileSelector.class gui\GlobalState.class gui\workers\DirectoryHashWorker.class gui\MainWindow.class gui\DefaultPanel.class gui\DefaultWindow.class hash_calculators\FileHashCalculator.class

cd ..

Then run the application with:

java -jar build\HashCalculator.jar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.