JEasyCrypto is a library and a collection of related applications enabling encryption and decryption of text using different methdods.
The code here has been created for educational purposes, and the apps (probably) have no other value for anyone.
(c) Antti Juustila, Degree Program of Information Processing Science, University of Oulu, Finland.
Repository includes four components:
- JEasyCryptoLib which implements several crypto methods and is extensible with new methods.
- JEasyCryptoConsole, a console app which enables using the cryptographic methods of the Lib
- JEasyCryptoServer, which provides a way to use the Lib from internet, using UDP and JSON.
- JEasyCryptoClient, which uses the Server over network for en-/decryption of text.
Additionally, the code uses the JSON-java library which is licensed under this LICENSE. (see below).
You can also run the Client and Server on the same machine. When launching the client, give "localhost" as the server address in this case.
- For this project, we use
openjdk
.- Install instructions and download links for all systems can be found here.
- The current version used is
openjdk 11.0.4
. - We encourage you to use the IntelliJ IDEA IDE.
- Clone the project.
- Dependencies
- Uses https://github.com/stleary/JSON-java on Server and Client to create/parse JSON.
- Download the json-20190722.jar to project root directory before building and running the Client or Server.
- Dependencies
- Build the lib using
build.sh
(on GNU/Linux, macOS) orbuild_windows.bat
(on Windows), which exports it as a.jar
file into the project root directory. - Then build the server and client, using corresponding build files for each.
- Use the provided
start.sh
(on GNU/Linux, macOS) orstart_windows.bat
(on Windows) files to start the client and server. Use Client and Server for cryption. - For testing the Lib without network, you can use the Console without the overhead of networking between the Client and Server.
- To get started contributing to the project, see the contributing guide.
- Please also take a look at our code of conduct, that acts as a guideline on how to communicate with people on this project. If you experienced a violation, do not hesitate to contact one of the maintainers.
- We follow these Java coding conventions, so please make sure that you adhere to them.
- Please format your code. This project considers the output of the IntelliJ IDEA IDE
Reformat Code
option as the gold standard.
- Please use our Slack channel to message the maintainers.