Encryption/Decryption - University Project

Related tags

Security J-Crypt
Overview

J-Crypt

By JayMar921

Encryption/Decryption - University Project

J-Crypt is a Java Program that encrypt/decrypts a String. You can use your own key for strong encryption, there is also an option for generating a key. For best Encryption, I highly recommend to make your own keys that is 15 up characters in length, it should contain Symbols, Upper/Lower case Characters and numbers. example: Th!$key1$N0t$3cur3d_54. The more characters you add, the complexity of character obfuscation increases.

Figure 1-1

If you are using windows

  • install git and download this. Run it with Powershell

Clone

  • git clone https://github.com/jaymar921/J-Crypt

go to directory

  • cd J-Crypt

Run the Jar

There are two options to run the Jar file

  • run the executeJar.sh
  • run it in console with this command java -jar JCrypt.jar -cli -ansi

Figure 1-2

Options

  • Encrypt and Decrypt text option, the String will be typed by the user. The encryption and decription will use the key that was generated/entered upon program start.
  • Encrypt and Decrypt file option, the user will provide an absolute path for the file to use. The encryption and decription will use the key that was generated/entered upon program start.
  • Try Decrypt text option, the String will be typed by the user, the user can provide a key dictionary or just use random for decryption process to start.
  • Try Decrypt file option, it will require an absolute path for the file to use, the user can use a key dictionary or random keys for decryption process, you can provide a word dictionary that is space separated for matching purpose. You can set the match percentage, 5% to 100%, I recommend at least (80%)

NOTE:

  • use the 'Try Decrypt Text/File' option if you think that the encrypted file uses the program generated key.

Use this program in your system?

Maven Repository

<repositories>
	<repository>
		 <id>jitpack.io</id>
		 <url>https://jitpack.io</url>
	</repository>
</repositories>

Maven Dependency

<dependency>
	 <groupId>com.github.jaymar921</groupId>
	 <artifactId>J-Crypt</artifactId>
	 <version>-41f854c657-1</version>
</dependency>

Gradle, put this at the end of your repositories

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Gradle, add the dependency

dependencies {
	 implementation 'com.github.jaymar921:J-Crypt:-41f854c657-1'
}

Using the Encryptor

Encryptor encryptor; //create a variable encryptor from Encryptor class
encryptor = new Encryptor(8); // Generates a random key with 8 characters, it prompts when it generates a key
encryptor = new Encryptor(8, true); // Generates a random key with 8 characters, it will not prompt when it generates a key
encryptor = new Encryptor("Anonymous155"); // Provides a key 'Anonymous155', the program promts if it's a good key else it will generate a random
encryptor = new Encryptor("Anonymous155", true); // Provides a key 'Anonymous155', the program will not prompt if its a good key, it will not generate a random key

Encrypt a string

String message = "Hello World"; //'Hello World' will be the test message to encrypt
String encrypted_message = encryptor.getEncryption(message); // the getEncryption(str) returns the encrypted value from the string argument
System.out.println(encrypted_message); //print the encrypted message

Encrypted message of Hello World will be 58 29 36 36 119 § 73 119 42 36 28 using the key Anonymous155

Decrypt a string

String message = "58 29 36 36 119 § 73 119 42 36 28"; //'58 29 36 36 119 § 73 119 42 36 28' will be the test message to decrypt
String decrypted_message = encryptor.getDecryption(message); //the getDecryption(str) returns the decrypted value from the string argument
System.out.println(decrypted_message); //print the decrypted message

Decrypted message of 58 29 36 36 119 § 73 119 42 36 28 will be Hello World using the key Anonymous155

Using HexConvert

you can use hex values as a key

/*
  Using the hex value as a key, passing true on second parameter to turn off
  key checking
*/
String hex_key = HexConvert.toHex("Anonymous155"); //Convert String to hex values
encryptor = new Encryptor(hex_key, true);
/*
  Convert back the hex value to original String
*/
String original_string = HexConvert.fromHex("416e6f6e796d6f7573313535");
You might also like...

Unixcounter - The new unixcounter project. Based on JavaEE + VueJS (server) and POSIX shell (client)

The Unix Counter Table of Contents Description Contributing Documentation Installation License This is the successor of the Linux Counter Project, whi

Dec 23, 2022

JNDI-Exploit is an exploit on Java Naming and Directory Interface (JNDI) from the deleted project fromthe user feihong on GitHub.

JNDI-Exploit JNDI-Exploit is a fork from the deleted project ftom the user feihong-cs on GitHub. To learn more about JNDI and what you can do with thi

Dec 6, 2022

Microservices project with CQRS, Event sourcing and Event-driven design.

Microservices project with CQRS, Event sourcing and Event-driven design.

for more details about the project, please check the attached pdf document "Walkthrough_SpringBoot_Microservices_Project" To Run the project : downloa

Jan 31, 2022

Kryptonite is a turn-key ready transformation (SMT) for Apache Kafka® Connect to do field-level 🔒 encryption/decryption 🔓 of records. It's an UNOFFICIAL community project.

Kryptonite - An SMT for Kafka Connect Kryptonite is a turn-key ready transformation (SMT) for Apache Kafka® to do field-level encryption/decryption of

Jan 3, 2023

AES-GCM encryption/decryption for React Native

react-native-aes-gcm-crypto AES-GCM encryption/decryption for React Native Requirements iOS = 13.0 Android = 26 Installation npm install react-nativ

Dec 2, 2022

OBJECT ORIENTED PROGRAMING IN JAVA Coursera SPECIALIZATION by DUKE UNIVERSITY & UNIVERSITY OF CALIFORNIA, SAN DIEGO

COURSERA Object Oriented Programming in Java Object Oriented Programming in Java - by Duke University & University of California, San Diego Java Prog

Dec 29, 2022

Java Project based on Java and Encryption using Cryptography algorithms

Symmetric-Encryption-Cryptography-in-Java Java Project based on Java and Encryption using Cryptography algorithms Project Aim Develop Java program to

Feb 3, 2022

Project for "Software Engineering" Course, University of Macedonia (UoM).

CovIDetect CovIDetect is a dashboard application for universities that aims to facilitate the process of managing covid cases and provide statistical

Dec 21, 2022

Restaurant Advisor application created for Munich as part of team project at the university.

Restaurant Advisor application created for Munich as part of team project at the university.

Restaurant Advisor Application It is important to mention that this application was created for educational purposes. Restaurants information is taken

Oct 16, 2022

BitTorrent library and client with DHT, magnet links, encryption and more

BitTorrent library and client with DHT, magnet links, encryption and more

Bt A full-featured BitTorrent implementation in Java 8 peer exchange | magnet links | DHT | encryption | LSD | private trackers | extended protocol |

Jan 2, 2023

Multi-platform transparent client-side encryption of your files in the cloud

Multi-platform transparent client-side encryption of your files in the cloud

Supporting Cryptomator Cryptomator is provided free of charge as an open-source project despite the high development effort and is therefore dependent

Jan 5, 2023

JSON Web Token (JWT) implementation for Java with support for signatures (JWS), encryption (JWE) and web keys (JWK).

Nimbus JOSE+JWT Nimbus JOSE+JWT is a popular open source (Apache 2.0) Java library which implements the Javascript Object Signing and Encryption (JOSE

Jul 1, 2022

A command-line tool to securely encrypt passwords and notes using AES encryption.

Treasury A command-line tool to securely encrypt passwords and notes using AES encryption. Installation Usage Technology Built solely in Java Picocli

Oct 17, 2022

Plugin-power - A plugin for the ja-netfilter, it is a dragon slayer for asymmetric encryption.

plugin-power A plugin for the ja-netfilter, it is a dragon slayer for asymmetric encryption. Use the mvn clean package command to compile and use powe

May 25, 2022

Simple and extensible storage service implementation with optional encryption.

Simple and extensible storage service implementation with optional encryption.

Simple and extensible storage service implementation with optional encryption. About Hole Hole is a simple data storage made with a soul for those who

Aug 13, 2022

ONLINE DYNAMIC UNIVERSITY VOTING SYSTEM

WEVOTE ONLINE DYNAMIC UNIVERSITY VOTING SYSTEM Online university voting system is developed as a web-based application using html for front-end design

May 7, 2021

⌨️Console client-server desktop application. ITMO University labs.

Java-Programming-2nd-semester ITMO University labs. Console client-server desktop application. lab5 - manage collection application, command line, man

May 18, 2022

Spring 2019-2020 Java Programming course lab -- Chongqing University. Include my source codes and lab reports.

JAVA_GUI_File_Manager Spring 2019-2020 JAVA Programming course homeworks -- Chongqing University. Include my source codes and reports. Contents: Draw

Nov 11, 2022
Owner
JayMar
• Plugin Developer • Freelancer • Backend
JayMar
Java Project based on Java and Encryption using Cryptography algorithms

Symmetric-Encryption-Cryptography-in-Java Java Project based on Java and Encryption using Cryptography algorithms Project Aim Develop Java program to

Muhammad Asad 6 Feb 3, 2022
Multi-platform transparent client-side encryption of your files in the cloud

Supporting Cryptomator Cryptomator is provided free of charge as an open-source project despite the high development effort and is therefore dependent

Cryptomator 8.7k Jan 5, 2023
JSON Web Token (JWT) implementation for Java with support for signatures (JWS), encryption (JWE) and web keys (JWK).

Nimbus JOSE+JWT Nimbus JOSE+JWT is a popular open source (Apache 2.0) Java library which implements the Javascript Object Signing and Encryption (JOSE

Connect2ID 35 Jul 1, 2022
A command-line tool to securely encrypt passwords and notes using AES encryption.

Treasury A command-line tool to securely encrypt passwords and notes using AES encryption. Installation Usage Technology Built solely in Java Picocli

Kai 4 Oct 17, 2022
Unofficial Clubhouse web app client. For personal use only. It's a personal open-source project and not affiliated with any company.

Purpose of this web app That's a personal project and not affiliated with any company. This is the web client app to make your Club House experience b

Sergei Ovchinnikov 45 Nov 15, 2022
Advanced Programming Final Project

Clash Royale Advanced Programming Final Project Clash Royale By Java July 2021 Requirements Java and JavaFx SDK MySQL Database Screenshots How to run

Ashkan Shakiba 12 Oct 11, 2022
Simple Hospital Managers Project GUI Java

Hospital-Managers-GUI-Java Simple Hospital Managers Project GUI Java To Run Code You just need to run MainClass.java in any IDE I make a YouTube Video

Ali Abdollahian Noghabi 2 Feb 4, 2022
This project was done as a part of Hug61B taught by Josh Hug.

byow This project was done as a final project for Hug61B taught by UC Berkeley's Josh Hug, The main aim of this project was to design a world generati

Red Hot Chili Coders 3 Sep 2, 2021
2211-01-a-OMW2PCAFYB's Web Checkers Project

WC-2211-01-a-OMW2PCAFYB 2211-01-a-OMW2PCAFYB's Web Checkers Project This is the Web Checkers Project as established by SWEN-261 @ RIT Link to page: ht

Aidan Mellin 2 Oct 21, 2021
Messenger - A Java based project making use of Sockets for communication between the applications running on different JRE

Messenger - A Java based project making use of Sockets for communication between the applications running on different JRE. Multiple clients can connect at the same time and can send messages to each other, they also get the information of status of their friends connected to the server .

Sarthak Aggarwal 1 Jan 2, 2022